9
9
Address ,
10
10
Author ,
11
11
Book ,
12
- EmbeddedModel ,
13
- EmbeddedModelFieldModel ,
12
+ Data ,
13
+ Holder ,
14
14
)
15
15
16
16
17
17
class MethodTests (SimpleTestCase ):
18
18
def test_deconstruct (self ):
19
- field = EmbeddedModelField ("EmbeddedModel " , null = True )
19
+ field = EmbeddedModelField ("Data " , null = True )
20
20
name , path , args , kwargs = field .deconstruct ()
21
21
self .assertEqual (path , "django_mongodb_backend.fields.EmbeddedModelField" )
22
22
self .assertEqual (args , [])
23
- self .assertEqual (kwargs , {"embedded_model" : "EmbeddedModel " , "null" : True })
23
+ self .assertEqual (kwargs , {"embedded_model" : "Data " , "null" : True })
24
24
25
25
def test_get_db_prep_save_invalid (self ):
26
- msg = (
27
- "Expected instance of type <class 'model_fields_.models.EmbeddedModel'>, "
28
- "not <class 'int'>."
29
- )
26
+ msg = "Expected instance of type <class 'model_fields_.models.Data'>, " "not <class 'int'>."
30
27
with self .assertRaisesMessage (TypeError , msg ):
31
- EmbeddedModelFieldModel ( simple = 42 ).save ()
28
+ Holder ( data = 42 ).save ()
32
29
33
30
def test_validate (self ):
34
- obj = EmbeddedModelFieldModel ( simple = EmbeddedModel ( someint = None ))
35
- # This isn't quite right because "someint " is the field that's non-null.
36
- msg = "{'simple ': ['This field cannot be null.']}"
31
+ obj = Holder ( data = Data ( integer = None ))
32
+ # This isn't quite right because "integer " is the field that's non-null.
33
+ msg = "{'data ': ['This field cannot be null.']}"
37
34
with self .assertRaisesMessage (ValidationError , msg ):
38
35
obj .full_clean ()
39
36
@@ -44,74 +41,61 @@ def truncate_ms(self, value):
44
41
return value .replace (microsecond = (value .microsecond // 1000 ) * 1000 )
45
42
46
43
def test_save_load (self ):
47
- EmbeddedModelFieldModel .objects .create (simple = EmbeddedModel ( someint = "5" ))
48
- obj = EmbeddedModelFieldModel .objects .get ()
49
- self .assertIsInstance (obj .simple , EmbeddedModel )
44
+ Holder .objects .create (data = Data ( integer = "5" ))
45
+ obj = Holder .objects .get ()
46
+ self .assertIsInstance (obj .data , Data )
50
47
# Make sure get_prep_value is called.
51
- self .assertEqual (obj .simple . someint , 5 )
48
+ self .assertEqual (obj .data . integer , 5 )
52
49
# Primary keys should not be populated...
53
- self .assertEqual (obj .simple .id , None )
50
+ self .assertEqual (obj .data .id , None )
54
51
# ... unless set explicitly.
55
- obj .simple .id = obj .id
52
+ obj .data .id = obj .id
56
53
obj .save ()
57
- obj = EmbeddedModelFieldModel .objects .get ()
58
- self .assertEqual (obj .simple .id , obj .id )
54
+ obj = Holder .objects .get ()
55
+ self .assertEqual (obj .data .id , obj .id )
59
56
60
57
def test_save_load_null (self ):
61
- EmbeddedModelFieldModel .objects .create (simple = None )
62
- obj = EmbeddedModelFieldModel .objects .get ()
63
- self .assertIsNone (obj .simple )
58
+ Holder .objects .create (data = None )
59
+ obj = Holder .objects .get ()
60
+ self .assertIsNone (obj .data )
64
61
65
62
def test_pre_save (self ):
66
63
"""Field.pre_save() is called on embedded model fields."""
67
- obj = EmbeddedModelFieldModel .objects .create (simple = EmbeddedModel ())
68
- auto_now = self .truncate_ms (obj .simple .auto_now )
69
- auto_now_add = self .truncate_ms (obj .simple .auto_now_add )
64
+ obj = Holder .objects .create (data = Data ())
65
+ auto_now = self .truncate_ms (obj .data .auto_now )
66
+ auto_now_add = self .truncate_ms (obj .data .auto_now_add )
70
67
self .assertEqual (auto_now , auto_now_add )
71
68
# save() updates auto_now but not auto_now_add.
72
69
obj .save ()
73
- self .assertEqual (self .truncate_ms (obj .simple .auto_now_add ), auto_now_add )
74
- auto_now_two = obj .simple .auto_now
75
- self .assertGreater (auto_now_two , obj .simple .auto_now_add )
70
+ self .assertEqual (self .truncate_ms (obj .data .auto_now_add ), auto_now_add )
71
+ auto_now_two = obj .data .auto_now
72
+ self .assertGreater (auto_now_two , obj .data .auto_now_add )
76
73
# And again, save() updates auto_now but not auto_now_add.
77
- obj = EmbeddedModelFieldModel .objects .get ()
74
+ obj = Holder .objects .get ()
78
75
obj .save ()
79
- self .assertEqual (obj .simple .auto_now_add , auto_now_add )
80
- self .assertGreater (obj .simple .auto_now , auto_now_two )
76
+ self .assertEqual (obj .data .auto_now_add , auto_now_add )
77
+ self .assertGreater (obj .data .auto_now , auto_now_two )
81
78
82
79
83
80
class QueryingTests (TestCase ):
84
81
@classmethod
85
82
def setUpTestData (cls ):
86
- cls .objs = [
87
- EmbeddedModelFieldModel .objects .create (simple = EmbeddedModel (someint = x ))
88
- for x in range (6 )
89
- ]
83
+ cls .objs = [Holder .objects .create (data = Data (integer = x )) for x in range (6 )]
90
84
91
85
def test_exact (self ):
92
- self .assertCountEqual (
93
- EmbeddedModelFieldModel .objects .filter (simple__someint = 3 ), [self .objs [3 ]]
94
- )
86
+ self .assertCountEqual (Holder .objects .filter (data__integer = 3 ), [self .objs [3 ]])
95
87
96
88
def test_lt (self ):
97
- self .assertCountEqual (
98
- EmbeddedModelFieldModel .objects .filter (simple__someint__lt = 3 ), self .objs [:3 ]
99
- )
89
+ self .assertCountEqual (Holder .objects .filter (data__integer__lt = 3 ), self .objs [:3 ])
100
90
101
91
def test_lte (self ):
102
- self .assertCountEqual (
103
- EmbeddedModelFieldModel .objects .filter (simple__someint__lte = 3 ), self .objs [:4 ]
104
- )
92
+ self .assertCountEqual (Holder .objects .filter (data__integer__lte = 3 ), self .objs [:4 ])
105
93
106
94
def test_gt (self ):
107
- self .assertCountEqual (
108
- EmbeddedModelFieldModel .objects .filter (simple__someint__gt = 3 ), self .objs [4 :]
109
- )
95
+ self .assertCountEqual (Holder .objects .filter (data__integer__gt = 3 ), self .objs [4 :])
110
96
111
97
def test_gte (self ):
112
- self .assertCountEqual (
113
- EmbeddedModelFieldModel .objects .filter (simple__someint__gte = 3 ), self .objs [3 :]
114
- )
98
+ self .assertCountEqual (Holder .objects .filter (data__integer__gte = 3 ), self .objs [3 :])
115
99
116
100
def test_nested (self ):
117
101
obj = Book .objects .create (
0 commit comments