diff options
| author | Markus Holtermann <info@markusholtermann.eu> | 2015-06-13 00:42:09 +0200 |
|---|---|---|
| committer | Markus Holtermann <info@markusholtermann.eu> | 2015-06-14 20:34:48 +0200 |
| commit | 128caa1e16ec2627737748f75c8e55600a3df97f (patch) | |
| tree | e28c02382cd4b938d0488a8b89b426715a965814 /tests | |
| parent | 5bc412c35a4db9ac064304f9c79d34a8afb44c15 (diff) | |
Optimized duplicate AlterModelTable/AlterFooTogether/AlterOWRT
Thanks Andrew Godwin for the review.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_optimizer.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/migrations/test_optimizer.py b/tests/migrations/test_optimizer.py index b22905b033..faf297b5e7 100644 --- a/tests/migrations/test_optimizer.py +++ b/tests/migrations/test_optimizer.py @@ -117,6 +117,45 @@ class OptimizerTests(SimpleTestCase): def test_create_alter_owrt_delete_model(self): self._test_create_alter_foo_delete_model(migrations.AlterOrderWithRespectTo("Foo", "a")) + def _test_alter_alter_model(self, alter_foo, alter_bar): + """ + Two AlterUniqueTogether/AlterIndexTogether/AlterOrderWithRespectTo + should collapse into the second. + """ + self.assertOptimizesTo( + [ + alter_foo, + alter_bar, + ], + [ + alter_bar, + ], + ) + + def test_alter_alter_table_model(self): + self._test_alter_alter_model( + migrations.AlterModelTable("Foo", "a"), + migrations.AlterModelTable("Foo", "b"), + ) + + def test_alter_alter_unique_model(self): + self._test_alter_alter_model( + migrations.AlterUniqueTogether("Foo", [["a", "b"]]), + migrations.AlterUniqueTogether("Foo", [["a", "c"]]), + ) + + def test_alter_alter_index_model(self): + self._test_alter_alter_model( + migrations.AlterIndexTogether("Foo", [["a", "b"]]), + migrations.AlterIndexTogether("Foo", [["a", "c"]]), + ) + + def test_alter_alter_owrt_model(self): + self._test_alter_alter_model( + migrations.AlterOrderWithRespectTo("Foo", "a"), + migrations.AlterOrderWithRespectTo("Foo", "b"), + ) + def test_optimize_through_create(self): """ We should be able to optimize away create/delete through a create or delete |
