7
7
from inertia .utils import InertiaJsonEncoder
8
8
9
9
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
+
10
19
class InertiaJsonEncoderTestCase (TestCase ):
11
20
def setUp (self ):
12
21
self .encode = lambda obj : dumps (obj , cls = InertiaJsonEncoder )
13
22
14
23
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 ()
21
25
22
26
self .assertEqual (
23
27
dumps (
@@ -51,12 +55,7 @@ def test_it_handles_inertia_meta_fields(self):
51
55
)
52
56
53
57
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 ()
60
59
61
60
self .assertEqual (
62
61
dumps (
@@ -71,3 +70,12 @@ def test_it_handles_querysets(self):
71
70
),
72
71
self .encode (User .objects .all ()),
73
72
)
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