@@ -20,7 +20,9 @@ def test_create_fails_if_missing_key(missing_key, client, session):
20
20
assert response .status_code == 422
21
21
22
22
23
- @pytest .mark .parametrize ("key, wrong_value" , [("instance_id" , "abc" ), ("name" , 123 )])
23
+ @pytest .mark .parametrize (
24
+ "key, wrong_value" , [("instance_id" , "abc" ), ("name" , 123 ), ("type" , 123 )]
25
+ )
24
26
def test_create_fails_if_wrong_type_key (key , wrong_value , client , session ):
25
27
response = client .post (
26
28
"/variables" ,
@@ -31,22 +33,29 @@ def test_create_fails_if_wrong_type_key(key, wrong_value, client, session):
31
33
assert response .status_code == 422
32
34
33
35
34
- def test_create_variable_with_correct_parameters_work (client , session ):
35
- response = client .post (
36
- "/variables" , json = {"instance_id" : 123 , "name" : "My variable" }
37
- )
36
+ @pytest .mark .parametrize ("variable_type" , [None , "email" , "free_text" ])
37
+ def test_create_variable_with_correct_parameters_work (client , session , variable_type ):
38
+ payload = {"instance_id" : 123 , "name" : "My variable" }
39
+ if variable_type is not None :
40
+ payload ["type" ] = variable_type
41
+ expected_type = variable_type or "free_text"
42
+
43
+ response = client .post ("/variables" , json = payload )
38
44
assert response .status_code == 200
39
45
assert response .json () == {
40
46
"uuid" : callee .Regex (test_patterns .UUID_PATTERN ),
41
47
"name" : "My variable" ,
42
48
"instance_id" : 123 ,
49
+ "type" : expected_type ,
43
50
}
44
51
45
52
variable = session .query (Variable ).one ()
46
53
47
54
assert isinstance (variable .uuid , UUID )
48
55
assert variable .name == "My variable"
49
56
assert variable .instance_id == 123
57
+ assert variable .type == expected_type
58
+
50
59
now = datetime .utcnow ()
51
60
margin = timedelta (seconds = 15 )
52
61
assert now - margin <= variable .created_at <= now
@@ -79,6 +88,7 @@ def test_list_variables_filters_by_instance(session, client):
79
88
"uuid" : callee .Regex (test_patterns .UUID_PATTERN ),
80
89
"name" : variable .name ,
81
90
"instance_id" : 123 ,
91
+ "type" : variable .type ,
82
92
}
83
93
]
84
94
}
0 commit comments