mirror of https://github.com/django/django.git
Refs #33916 -- Added tests for serialization of enum.Flag in migrations.
This commit is contained in:
parent
0cbbed49f4
commit
08688bd7dd
|
@ -80,6 +80,11 @@ class IntEnum(enum.IntEnum):
|
||||||
B = 2
|
B = 2
|
||||||
|
|
||||||
|
|
||||||
|
class IntFlagEnum(enum.IntFlag):
|
||||||
|
A = 1
|
||||||
|
B = 2
|
||||||
|
|
||||||
|
|
||||||
class OperationWriterTests(SimpleTestCase):
|
class OperationWriterTests(SimpleTestCase):
|
||||||
def test_empty_signature(self):
|
def test_empty_signature(self):
|
||||||
operation = custom_migration_operations.operations.TestOperation()
|
operation = custom_migration_operations.operations.TestOperation()
|
||||||
|
@ -382,6 +387,33 @@ class WriterTests(SimpleTestCase):
|
||||||
"default=migrations.test_writer.IntEnum['A'])",
|
"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):
|
def test_serialize_choices(self):
|
||||||
class TextChoices(models.TextChoices):
|
class TextChoices(models.TextChoices):
|
||||||
A = "A", "A value"
|
A = "A", "A value"
|
||||||
|
|
Loading…
Reference in New Issue