Skip to content

Commit 2593611

Browse files
committed
added test for serialising LazyTableReference in migrations
1 parent b48839d commit 2593611

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

tests/apps/migrations/auto/test_serialisation.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from unittest import TestCase
22

33
from piccolo.apps.migrations.auto.serialisation import serialise_params
4-
54
from piccolo.columns.defaults import DateNow, TimeNow, TimestampNow, UUID4
5+
from piccolo.columns.reference import LazyTableReference
66

77

88
class TestSerialiseParams(TestCase):
@@ -28,3 +28,33 @@ def test_timestamp(self):
2828
def test_uuid(self):
2929
serialised = serialise_params(params={"default": UUID4()})
3030
self.assertTrue(serialised.params["default"].__repr__() == "UUID4()")
31+
32+
def test_lazy_table_reference(self):
33+
# These are equivalent:
34+
references_list = [
35+
LazyTableReference(
36+
table_class_name="Manager", app_name="example_app"
37+
),
38+
LazyTableReference(
39+
table_class_name="Manager",
40+
module_path="tests.example_app.tables",
41+
),
42+
]
43+
44+
for references in references_list:
45+
serialised = serialise_params(params={"references": references})
46+
self.assertTrue(
47+
serialised.params["references"].__repr__() == "Manager"
48+
)
49+
50+
self.assertTrue(len(serialised.extra_imports) == 1)
51+
self.assertEqual(
52+
serialised.extra_imports[0].__str__(),
53+
"from piccolo.table import Table",
54+
)
55+
56+
self.assertTrue(len(serialised.extra_definitions) == 1)
57+
self.assertEqual(
58+
serialised.extra_definitions[0].__str__(),
59+
'class Manager(Table, tablename="manager"): pass',
60+
)

0 commit comments

Comments
 (0)