1
1
import pytest
2
2
import json
3
3
from faker import Faker
4
+ from http import HTTPStatus
4
5
5
6
import azure .functions as func
6
7
@@ -39,7 +40,7 @@ def test__time_entry_azure_endpoint__creates_an_time_entry__when_time_entry_has_
39
40
time_entry_json_data = json .loads (response .get_body ())
40
41
time_entry_body ['id' ] = time_entry_json_data ['id' ]
41
42
42
- assert response .status_code == 201
43
+ assert response .status_code == HTTPStatus . CREATED
43
44
assert time_entry_json_data == time_entry_body
44
45
45
46
@@ -60,7 +61,7 @@ def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_de
60
61
response = azure_time_entries ._delete_time_entry .delete_time_entry (req )
61
62
time_entry_json_data = json .loads (response .get_body ().decode ("utf-8" ))
62
63
63
- assert response .status_code == 200
64
+ assert response .status_code == HTTPStatus . OK
64
65
assert time_entry_json_data ['deleted' ] is True
65
66
66
67
@@ -75,7 +76,65 @@ def test__delete_time_entries_azure_endpoint__returns_a_status_code_400__when_ti
75
76
76
77
response = azure_time_entries ._delete_time_entry .delete_time_entry (req )
77
78
78
- assert response .status_code == 400
79
+ assert response .status_code == HTTPStatus .BAD_REQUEST
80
+ assert response .get_body () == b'Invalid Format ID'
81
+
82
+
83
+ def test__time_entry_azure_endpoint__returns_all_time_entries (
84
+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
85
+ ):
86
+ inserted_activity = insert_activity (activity_factory (), test_db )
87
+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
88
+ inserted_time_entries = insert_time_entry (time_entries_to_insert , test_db ).__dict__
89
+
90
+ req = func .HttpRequest (method = "GET" , body = None , url = TIME_ENTRY_URL )
91
+
92
+ response = azure_time_entries .get_time_entries (req )
93
+ time_entries_json_data = response .get_body ().decode ("utf-8" )
94
+ time_entry_list = json .loads (time_entries_json_data )
95
+
96
+ assert response .status_code == HTTPStatus .OK
97
+ assert time_entry_list .pop () == inserted_time_entries
98
+
99
+
100
+ def test__time_entry_azure_endpoint__returns_an_time_entry__when_time_entry_matches_its_id (
101
+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
102
+ ):
103
+ inserted_activity = insert_activity (activity_factory (), test_db )
104
+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
105
+ inserted_time_entries = insert_time_entry (time_entries_to_insert , test_db ).__dict__
106
+
107
+ req = func .HttpRequest (
108
+ method = "GET" ,
109
+ body = None ,
110
+ url = TIME_ENTRY_URL ,
111
+ route_params = {"id" : inserted_time_entries ["id" ]},
112
+ )
113
+
114
+ response = azure_time_entries .get_time_entries (req )
115
+ time_entry_json_data = response .get_body ().decode ("utf-8" )
116
+
117
+ assert response .status_code == HTTPStatus .OK
118
+ assert time_entry_json_data == json .dumps (inserted_time_entries )
119
+
120
+
121
+ def test__get_time_entries_azure_endpoint__returns_a_status_code_400__when_time_entry_recive_invalid_id (
122
+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
123
+ ):
124
+ inserted_activity = insert_activity (activity_factory (), test_db )
125
+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
126
+ insert_time_entry (time_entries_to_insert , test_db ).__dict__
127
+
128
+ req = func .HttpRequest (
129
+ method = "GET" ,
130
+ body = None ,
131
+ url = TIME_ENTRY_URL ,
132
+ route_params = {"id" : "invalid id" },
133
+ )
134
+
135
+ response = azure_time_entries .get_time_entries (req )
136
+
137
+ assert response .status_code == HTTPStatus .BAD_REQUEST
79
138
assert response .get_body () == b'Invalid Format ID'
80
139
81
140
0 commit comments