Skip to content

Commit fd494c2

Browse files
committed
add test for 1 many
1 parent a2d67fa commit fd494c2

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

.flake8

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[flake8]
2-
ignore = E704, F403, F405, E114, W503
2+
ignore = E704, F403, F405, E114, W503, F821
33
max-line-length = 155

tests/test_json_graph_object_types_synthesis.py

+26
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,32 @@ class TestLocalKeyTwo(JSONObject):
3838
self.assertEqual(twos_field_one.field_description.use_join_table,
3939
None)
4040

41+
def test_auto_generates_1_many_local_key_foreign_key(self):
42+
43+
@jsonclass(class_graph='test_marker_auto_gen')
44+
class TestOMKeyOne(JSONObject):
45+
name: str
46+
master: Link[TestOMKeyMany, linkto]
47+
48+
@jsonclass(class_graph='test_marker_auto_gen')
49+
class TestOMKeyMany(JSONObject):
50+
name: str
51+
slaves: Link[list[TestOMKeyOne], linkedby('master')]
52+
53+
master_field = field(TestOMKeyOne, 'master')
54+
self.assertEqual(master_field.field_description.field_type,
55+
FieldType.INSTANCE)
56+
self.assertEqual(master_field.field_description.field_storage,
57+
FieldStorage.LOCAL_KEY)
58+
self.assertEqual(master_field.field_description.foreign_key, None)
59+
60+
slave_fields = field(TestOMKeyMany, 'slaves')
61+
self.assertEqual(slave_fields.field_description.field_type,
62+
FieldType.LIST)
63+
self.assertEqual(slave_fields.field_description.field_storage,
64+
FieldStorage.FOREIGN_KEY)
65+
self.assertEqual(slave_fields.field_description.foreign_key, 'master')
66+
4167
def test_auto_generates_many_many_foreign_key(self):
4268

4369
@jsonclass(class_graph='test_marker_auto_gen_q')

0 commit comments

Comments
 (0)