77from inertia .utils import InertiaJsonEncoder
88
99
10+ def make_brandon () -> User :
11+ return User (
12+ name = "Brandon" ,
13+ password = "something-top-secret" ,
14+ birthdate = date (1987 , 2 , 15 ),
15+ registered_at = datetime (2022 , 10 , 31 , 10 , 13 , 1 ),
16+ )
17+
18+
1019class InertiaJsonEncoderTestCase (TestCase ):
1120 def setUp (self ):
1221 self .encode = lambda obj : dumps (obj , cls = InertiaJsonEncoder )
1322
1423 def test_it_handles_models_with_dates_and_removes_passwords (self ):
15- user = User (
16- name = "Brandon" ,
17- password = "something-top-secret" ,
18- birthdate = date (1987 , 2 , 15 ),
19- registered_at = datetime (2022 , 10 , 31 , 10 , 13 , 1 ),
20- )
24+ user = make_brandon ()
2125
2226 self .assertEqual (
2327 dumps (
@@ -51,12 +55,7 @@ def test_it_handles_inertia_meta_fields(self):
5155 )
5256
5357 def test_it_handles_querysets (self ):
54- User (
55- name = "Brandon" ,
56- password = "something-top-secret" ,
57- birthdate = date (1987 , 2 , 15 ),
58- registered_at = datetime (2022 , 10 , 31 , 10 , 13 , 1 ),
59- ).save ()
58+ make_brandon ().save ()
6059
6160 self .assertEqual (
6261 dumps (
@@ -71,3 +70,12 @@ def test_it_handles_querysets(self):
7170 ),
7271 self .encode (User .objects .all ()),
7372 )
73+
74+
75+ def test_it_handles_non_model_querysets (self ):
76+ user = make_brandon ()
77+ user .save ()
78+ self .assertEqual (
79+ self .encode (User .objects .values_list ("name" , flat = True )),
80+ self .encode ([user .name ]),
81+ )
0 commit comments