|
13 | 13 |
|
14 | 14 |
|
15 | 15 | TIME_ENTRY_URL = "/api/time-entries/" |
| 16 | +TIME_ENTRY_SUMMARY_URL = "/api/time-entries/summary/" |
16 | 17 |
|
17 | 18 |
|
18 | 19 | @pytest.fixture(name='insert_time_entry') |
@@ -272,3 +273,90 @@ def test__get_latest_entries_azure_endpoint__returns_not_found__when_recieve_an_ |
272 | 273 |
|
273 | 274 | assert response.status_code == HTTPStatus.NOT_FOUND |
274 | 275 | assert response.get_body().decode("utf-8") == ResponseEnums.NOT_FOUND.value |
| 276 | + |
| 277 | + |
| 278 | +def test__time_entry_azure_endpoint__returns_the_summary( |
| 279 | + test_db, time_entry_factory, insert_time_entry, activity_factory, insert_activity, insert_project |
| 280 | +): |
| 281 | + inserted_project = insert_project() |
| 282 | + inserted_activity = insert_activity(activity_factory(), test_db) |
| 283 | + existent_time_entries = time_entry_factory(activity_id=inserted_activity.id, |
| 284 | + owner_id=69, |
| 285 | + start_date='11/10/2021', |
| 286 | + end_date='11/11/2021', |
| 287 | + project_id=inserted_project.id) |
| 288 | + inserted_time_entries = insert_time_entry(existent_time_entries, test_db).__dict__ |
| 289 | + |
| 290 | + req = func.HttpRequest( |
| 291 | + method='GET', |
| 292 | + body=None, |
| 293 | + url=TIME_ENTRY_SUMMARY_URL, |
| 294 | + params={'owner_id': inserted_time_entries['owner_id'], |
| 295 | + 'start_date': '11/10/2021', |
| 296 | + 'end_date': '11/11/2021'}, |
| 297 | + ) |
| 298 | + |
| 299 | + response = azure_time_entries.get_time_entries_summary(req) |
| 300 | + |
| 301 | + time_entries_obtained = response.get_body().decode("utf-8") |
| 302 | + assert response.status_code == HTTPStatus.OK |
| 303 | + assert json.loads(time_entries_obtained) == [inserted_time_entries] |
| 304 | + |
| 305 | + |
| 306 | +def test__time_entry_summary_azure_endpoint__returns_not_found_with_invalid_owner_id( |
| 307 | + test_db, insert_activity, activity_factory |
| 308 | +): |
| 309 | + |
| 310 | + insert_activity(activity_factory(), test_db) |
| 311 | + |
| 312 | + request_params = { |
| 313 | + "method": 'GET', |
| 314 | + "body": None, |
| 315 | + "url": TIME_ENTRY_SUMMARY_URL, |
| 316 | + "params": {"owner_id": 96}, |
| 317 | + } |
| 318 | + req_owner_id = func.HttpRequest(**request_params) |
| 319 | + |
| 320 | + response_owner_id = azure_time_entries._get_time_entries_summary.get_time_entries_summary(req_owner_id) |
| 321 | + |
| 322 | + assert response_owner_id.status_code == HTTPStatus.NOT_FOUND |
| 323 | + assert response_owner_id.get_body().decode() == ResponseEnums.NOT_FOUND.value |
| 324 | + |
| 325 | + request_params["params"] = {"owner_id": 69, "start_date": "", "end_date": "11/11/2021"} |
| 326 | + req_start_date = func.HttpRequest(**request_params) |
| 327 | + |
| 328 | + response_start_date = azure_time_entries._get_time_entries_summary.get_time_entries_summary(req_start_date) |
| 329 | + |
| 330 | + assert response_start_date.status_code == HTTPStatus.NOT_FOUND |
| 331 | + assert response_start_date.get_body().decode() == ResponseEnums.NOT_FOUND.value |
| 332 | + |
| 333 | + |
| 334 | +def test__time_entry_summary_azure_endpoint__returns_invalid_date_format_with_invalid_date_format( |
| 335 | + test_db, insert_activity, activity_factory |
| 336 | +): |
| 337 | + |
| 338 | + insert_activity(activity_factory(), test_db) |
| 339 | + |
| 340 | + wrong_date_format = "30/11/2021" |
| 341 | + right_date_format = "11/30/2021" |
| 342 | + |
| 343 | + request_params = { |
| 344 | + "method": 'GET', |
| 345 | + "body": None, |
| 346 | + "url": TIME_ENTRY_SUMMARY_URL, |
| 347 | + "params": {"owner_id": 1, "start_date": wrong_date_format, "end_date": right_date_format}, |
| 348 | + } |
| 349 | + |
| 350 | + req_owner_id = func.HttpRequest(**request_params) |
| 351 | + response_owner_id = azure_time_entries._get_time_entries_summary.get_time_entries_summary(req_owner_id) |
| 352 | + |
| 353 | + assert response_owner_id.status_code == HTTPStatus.NOT_FOUND |
| 354 | + assert response_owner_id.get_body().decode() == ResponseEnums.INVALID_DATE_FORMAT.value |
| 355 | + |
| 356 | + request_params["params"] = {"owner_id": 1, "start_date": right_date_format, "end_date": wrong_date_format} |
| 357 | + req_start_date = func.HttpRequest(**request_params) |
| 358 | + |
| 359 | + response_start_date = azure_time_entries._get_time_entries_summary.get_time_entries_summary(req_start_date) |
| 360 | + |
| 361 | + assert response_start_date.status_code == HTTPStatus.NOT_FOUND |
| 362 | + assert response_start_date.get_body().decode() == ResponseEnums.INVALID_DATE_FORMAT.value |
0 commit comments