@@ -46,10 +46,11 @@ def test__time_entry_azure_endpoint__creates_an_time_entry__when_time_entry_has_
4646
4747
4848def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_deleted__when_its_id_is_found (
49- test_db , time_entry_factory , insert_time_entry , insert_activity , activity_factory ,
49+ test_db , time_entry_factory , insert_time_entry , insert_activity , activity_factory , insert_project
5050):
51+ inserted_project = insert_project ()
5152 inserted_activity = insert_activity (activity_factory (), test_db ).__dict__
52- time_entry_body = time_entry_factory (activity_id = inserted_activity ["id" ])
53+ time_entry_body = time_entry_factory (activity_id = inserted_activity ["id" ], project_id = inserted_project . id )
5354 inserted_time_entry = insert_time_entry (time_entry_body , test_db )
5455
5556 req = func .HttpRequest (
@@ -82,10 +83,11 @@ def test__delete_time_entries_azure_endpoint__returns_a_status_code_400__when_ti
8283
8384
8485def test__time_entry_azure_endpoint__returns_all_time_entries (
85- test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
86+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity , insert_project
8687):
88+ inserted_project = insert_project ()
8789 inserted_activity = insert_activity (activity_factory (), test_db )
88- time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
90+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id , project_id = inserted_project . id )
8991 inserted_time_entries = insert_time_entry (time_entries_to_insert , test_db ).__dict__
9092
9193 req = func .HttpRequest (method = "GET" , body = None , url = TIME_ENTRY_URL )
@@ -99,10 +101,11 @@ def test__time_entry_azure_endpoint__returns_all_time_entries(
99101
100102
101103def test__time_entry_azure_endpoint__returns_an_time_entry__when_time_entry_matches_its_id (
102- test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
104+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity , insert_project
103105):
106+ inserted_project = insert_project ()
104107 inserted_activity = insert_activity (activity_factory (), test_db )
105- time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
108+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id , project_id = inserted_project . id )
106109 inserted_time_entries = insert_time_entry (time_entries_to_insert , test_db ).__dict__
107110
108111 req = func .HttpRequest (
@@ -120,10 +123,11 @@ def test__time_entry_azure_endpoint__returns_an_time_entry__when_time_entry_matc
120123
121124
122125def test__get_time_entries_azure_endpoint__returns_a_status_code_400__when_time_entry_recive_invalid_id (
123- test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
126+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity , insert_project
124127):
128+ inserted_project = insert_project ()
125129 inserted_activity = insert_activity (activity_factory (), test_db )
126- time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id )
130+ time_entries_to_insert = time_entry_factory (activity_id = inserted_activity .id , project_id = inserted_project . id )
127131 insert_time_entry (time_entries_to_insert , test_db ).__dict__
128132
129133 req = func .HttpRequest (
@@ -139,28 +143,69 @@ def test__get_time_entries_azure_endpoint__returns_a_status_code_400__when_time_
139143 assert response .get_body () == b'Invalid Format ID'
140144
141145
146+ def test__get_latest_entries_azure_endpoint__returns_a_list_of_latest_time_entries__when_an_owner_id_match (
147+ test_db , time_entry_factory , insert_time_entry , insert_activity , activity_factory , insert_project
148+ ):
149+ inserted_project = insert_project ()
150+ inserted_activity = insert_activity (activity_factory (), test_db ).__dict__
151+ time_entry_body = time_entry_factory (activity_id = inserted_activity ["id" ], project_id = inserted_project .id )
152+ inserted_time_entry = insert_time_entry (time_entry_body , test_db ).__dict__
153+
154+ req = func .HttpRequest (
155+ method = 'GET' ,
156+ body = None ,
157+ url = TIME_ENTRY_URL + "latest/" ,
158+ params = {"owner_id" : inserted_time_entry ["owner_id" ]},
159+ )
160+
161+ response = azure_time_entries ._get_latest_entries .get_latest_entries (req )
162+ time_entry_json_data = json .loads (response .get_body ().decode ("utf-8" ))
163+
164+ assert response .status_code == 200
165+ assert time_entry_json_data == [inserted_time_entry ]
166+
167+
168+ def test__get_latest_entries_azure_endpoint__returns_no_time_entries_found__when_recieve_an_invalid_owner_id (
169+ test_db , insert_activity , activity_factory ,
170+ ):
171+ insert_activity (activity_factory (), test_db )
172+
173+ req = func .HttpRequest (
174+ method = 'GET' ,
175+ body = None ,
176+ url = TIME_ENTRY_URL + "latest/" ,
177+ params = {"owner_id" : Faker ().pyint ()},
178+ )
179+
180+ response = azure_time_entries ._get_latest_entries .get_latest_entries (req )
181+
182+ assert response .status_code == 404
183+ assert response .get_body () == b'Not found'
184+
185+
142186def test__update_time_entry_azure_endpoint__returns_an_time_entry__when_found_an_time_entry_to_update (
143- test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity
187+ test_db , time_entry_factory , insert_time_entry , activity_factory , insert_activity , insert_project
144188):
145- inserted_activity = insert_activity (activity_factory (), test_db )
146- existent_time_entries = time_entry_factory (activity_id = inserted_activity .id )
147- inserted_time_entries = insert_time_entry (existent_time_entries , test_db ).__dict__
189+ inserted_project = insert_project ()
190+ inserted_activity = insert_activity (activity_factory (), test_db ).__dict__
191+ time_entry_body = time_entry_factory (activity_id = inserted_activity ["id" ], project_id = inserted_project .id )
192+ inserted_time_entry = insert_time_entry (time_entry_body , test_db ).__dict__
148193
149194 time_entry_body = {"description" : Faker ().sentence ()}
150195
151196 req = func .HttpRequest (
152197 method = 'PUT' ,
153198 body = json .dumps (time_entry_body ).encode ("utf-8" ),
154199 url = TIME_ENTRY_URL ,
155- route_params = {"id" : inserted_time_entries ["id" ]},
200+ route_params = {"id" : inserted_time_entry ["id" ]},
156201 )
157202
158203 response = azure_time_entries ._update_time_entry .update_time_entry (req )
159204 activitiy_json_data = response .get_body ().decode ("utf-8" )
160- inserted_time_entries .update (time_entry_body )
205+ inserted_time_entry .update (time_entry_body )
161206
162207 assert response .status_code == 200
163- assert activitiy_json_data == json .dumps (inserted_time_entries )
208+ assert activitiy_json_data == json .dumps (inserted_time_entry )
164209
165210
166211def test__update_time_entries_azure_endpoint__returns_a_status_code_400__when_time_entry_recive_invalid_format_id ():
@@ -211,27 +256,6 @@ def test__update_time_entries_azure_endpoint__returns_a_status_code_400__when_ti
211256 assert response .get_body () == b'Incorrect time entry body'
212257
213258
214- def test__get_latest_entries_azure_endpoint__returns_a_list_of_latest_time_entries__when_an_owner_id_match (
215- test_db , time_entry_factory , insert_time_entry , insert_activity , activity_factory ,
216- ):
217- inserted_activity = insert_activity (activity_factory (), test_db ).__dict__
218- time_entry_body = time_entry_factory (activity_id = inserted_activity ["id" ], technologies = "[jira,sql]" )
219- inserted_time_entry = insert_time_entry (time_entry_body , test_db ).__dict__
220-
221- req = func .HttpRequest (
222- method = 'GET' ,
223- body = None ,
224- url = TIME_ENTRY_URL + "latest/" ,
225- params = {"owner_id" : inserted_time_entry ["owner_id" ]},
226- )
227-
228- response = azure_time_entries ._get_latest_entries .get_latest_entries (req )
229- time_entry_json_data = json .loads (response .get_body ().decode ("utf-8" ))
230-
231- assert response .status_code == HTTPStatus .OK
232- assert time_entry_json_data == [inserted_time_entry ]
233-
234-
235259def test__get_latest_entries_azure_endpoint__returns_not_found__when_recieve_an_invalid_owner_id (
236260 test_db , insert_activity , activity_factory ,
237261):
0 commit comments