diff options
| author | Markus Holtermann <info@markusholtermann.eu> | 2015-01-17 00:55:41 +0100 |
|---|---|---|
| committer | Markus Holtermann <info@markusholtermann.eu> | 2015-01-20 01:24:41 +0100 |
| commit | 7f20041bca43ca33f0a9617793f2af7ab07c3fab (patch) | |
| tree | 4a1b9c58eff53a8b13b6eff91de0fcac0fc9ea29 /tests | |
| parent | bd691f4586c8ad45bd059ff9d3621cbf8afdcdce (diff) | |
Fixed #24155 -- Maintained kwargs and import order in migration writer
Thanks Tomas Dobrovolny for the report and Tim Graham for the review.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_writer.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py index 74c53b1a2d..6c6a654365 100644 --- a/tests/migrations/test_writer.py +++ b/tests/migrations/test_writer.py @@ -216,7 +216,15 @@ class WriterTests(TestCase): def test_serialize_fields(self): self.assertSerializedFieldEqual(models.CharField(max_length=255)) + self.assertSerializedResultEqual( + models.CharField(max_length=255), + ("models.CharField(max_length=255)", {"from django.db import models"}) + ) self.assertSerializedFieldEqual(models.TextField(null=True, blank=True)) + self.assertSerializedResultEqual( + models.TextField(null=True, blank=True), + ("models.TextField(blank=True, null=True)", {'from django.db import models'}) + ) def test_serialize_settings(self): self.assertSerializedEqual(SettingsReference(settings.AUTH_USER_MODEL, "AUTH_USER_MODEL")) @@ -419,6 +427,26 @@ class WriterTests(TestCase): result['custom_migration_operations'].more_operations.TestOperation ) + def test_sorted_imports(self): + """ + #24155 - Tests ordering of imports. + """ + migration = type(str("Migration"), (migrations.Migration,), { + "operations": [ + migrations.AddField("mymodel", "myfield", models.DateTimeField( + default=datetime.datetime(2012, 1, 1, 1, 1, tzinfo=utc), + )), + ] + }) + writer = MigrationWriter(migration) + output = writer.as_string().decode('utf-8') + self.assertIn( + "import datetime\n" + "from django.db import migrations, models\n" + "from django.utils.timezone import utc\n", + output + ) + def test_deconstruct_class_arguments(self): # Yes, it doesn't make sense to use a class as a default for a # CharField. It does make sense for custom fields though, for example |
