diff options
| author | Willem Van Onsem <vanonsem.willem@gmail.com> | 2022-08-16 07:09:11 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-08-16 07:52:27 +0200 |
| commit | 08688bd7dd8dfa218ecff03d6c94a753b1be8e59 (patch) | |
| tree | f16f8eb7bbffd28aab04658bb1b744e3ccf5079e | |
| parent | 0cbbed49f4fbe60ddf9b452b310815708a64cc64 (diff) | |
Refs #33916 -- Added tests for serialization of enum.Flag in migrations.
| -rw-r--r-- | tests/migrations/test_writer.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py index 6ec6d938b9..bad8775d4e 100644 --- a/tests/migrations/test_writer.py +++ b/tests/migrations/test_writer.py @@ -80,6 +80,11 @@ class IntEnum(enum.IntEnum): B = 2 +class IntFlagEnum(enum.IntFlag): + A = 1 + B = 2 + + class OperationWriterTests(SimpleTestCase): def test_empty_signature(self): operation = custom_migration_operations.operations.TestOperation() @@ -382,6 +387,33 @@ class WriterTests(SimpleTestCase): "default=migrations.test_writer.IntEnum['A'])", ) + def test_serialize_enum_flags(self): + self.assertSerializedResultEqual( + IntFlagEnum.A, + ( + "migrations.test_writer.IntFlagEnum['A']", + {"import migrations.test_writer"}, + ), + ) + self.assertSerializedResultEqual( + IntFlagEnum.B, + ( + "migrations.test_writer.IntFlagEnum['B']", + {"import migrations.test_writer"}, + ), + ) + field = models.IntegerField( + default=IntFlagEnum.A, choices=[(m.value, m) for m in IntFlagEnum] + ) + string = MigrationWriter.serialize(field)[0] + self.assertEqual( + string, + "models.IntegerField(choices=[" + "(1, migrations.test_writer.IntFlagEnum['A']), " + "(2, migrations.test_writer.IntFlagEnum['B'])], " + "default=migrations.test_writer.IntFlagEnum['A'])", + ) + def test_serialize_choices(self): class TextChoices(models.TextChoices): A = "A", "A value" |
