From 826997b1a8f365b2269582569f7be103bdaa7d94 Mon Sep 17 00:00:00 2001 From: mandres2015 Date: Fri, 26 Nov 2021 11:53:42 -0500 Subject: [PATCH] fix: TT-407 enums added in responses --- V2/serverless.yml | 2 +- .../api/azure/time_entry_azure_endpoints_test.py | 9 +++++---- .../integration/daos/time_entries_dao_test.py | 2 +- .../_time_entries/_get_latest_entries.py | 15 ++++++++------- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/V2/serverless.yml b/V2/serverless.yml index f740f66d..9b31ee0b 100644 --- a/V2/serverless.yml +++ b/V2/serverless.yml @@ -124,7 +124,7 @@ functions: x-azure-settings: methods: - GET - route: time-entries/latest + route: time-entries/latest/ authLevel: anonymous create_customer: diff --git a/V2/tests/api/azure/time_entry_azure_endpoints_test.py b/V2/tests/api/azure/time_entry_azure_endpoints_test.py index 3afa6d5b..42e3d5ec 100644 --- a/V2/tests/api/azure/time_entry_azure_endpoints_test.py +++ b/V2/tests/api/azure/time_entry_azure_endpoints_test.py @@ -9,6 +9,7 @@ from time_tracker._infrastructure import DB from time_tracker.time_entries import _domain as domain_time_entries from time_tracker.time_entries import _infrastructure as infrastructure_time_entries +from time_tracker.utils.enums import ResponseEnums TIME_ENTRY_URL = "/api/time-entries/" @@ -227,11 +228,11 @@ def test__get_latest_entries_azure_endpoint__returns_a_list_of_latest_time_entri response = azure_time_entries._get_latest_entries.get_latest_entries(req) time_entry_json_data = json.loads(response.get_body().decode("utf-8")) - assert response.status_code == 200 + assert response.status_code == HTTPStatus.OK assert time_entry_json_data == [inserted_time_entry] -def test__get_latest_entries_azure_endpoint__returns_No_time_entries_found__when_recieve_an_invalid_owner_id( +def test__get_latest_entries_azure_endpoint__returns_not_found__when_recieve_an_invalid_owner_id( test_db, insert_activity, activity_factory, ): insert_activity(activity_factory(), test_db) @@ -245,5 +246,5 @@ def test__get_latest_entries_azure_endpoint__returns_No_time_entries_found__when response = azure_time_entries._get_latest_entries.get_latest_entries(req) - assert response.status_code == 404 - assert response.get_body() == b'No time entries found' + assert response.status_code == HTTPStatus.NOT_FOUND + assert response.get_body().decode("utf-8") == ResponseEnums.NOT_FOUND.value diff --git a/V2/tests/integration/daos/time_entries_dao_test.py b/V2/tests/integration/daos/time_entries_dao_test.py index 54a61cd6..e48241cc 100644 --- a/V2/tests/integration/daos/time_entries_dao_test.py +++ b/V2/tests/integration/daos/time_entries_dao_test.py @@ -170,7 +170,7 @@ def test_get_latest_entries__returns_a_list_of_latest_time_entries__when_an_owne assert result == [inserted_time_entry.__dict__] -def test_get_latest_entries__returns_None__when_an_owner_id_is_not_found( +def test_get_latest_entries__returns_none__when_an_owner_id_is_not_found( create_fake_dao, test_db, insert_activity, activity_factory ): dao = create_fake_dao(test_db) diff --git a/V2/time_tracker/time_entries/_application/_time_entries/_get_latest_entries.py b/V2/time_tracker/time_entries/_application/_time_entries/_get_latest_entries.py index 35974c0f..b813fb4f 100644 --- a/V2/time_tracker/time_entries/_application/_time_entries/_get_latest_entries.py +++ b/V2/time_tracker/time_entries/_application/_time_entries/_get_latest_entries.py @@ -6,6 +6,7 @@ from ... import _domain from ... import _infrastructure from time_tracker._infrastructure import DB +from time_tracker.utils.enums import ResponseEnums def get_latest_entries(req: func.HttpRequest) -> func.HttpResponse: @@ -20,29 +21,29 @@ def get_latest_entries(req: func.HttpRequest) -> func.HttpResponse: if not owner_id: return func.HttpResponse( - body="No owner id found", + body=ResponseEnums.NOT_FOUND.value, status_code=HTTPStatus.NOT_FOUND, - mimetype="application/json" + mimetype=ResponseEnums.MIME_TYPE.value, ) time_entries = use_case.get_latest_entries(int(owner_id), int(limit) if limit and int(limit) > 0 else None) if not time_entries or len(time_entries) == 0: return func.HttpResponse( - body="No time entries found", + body=ResponseEnums.NOT_FOUND.value, status_code=HTTPStatus.NOT_FOUND, - mimetype="application/json" + mimetype=ResponseEnums.MIME_TYPE.value, ) return func.HttpResponse( body=json.dumps(time_entries, default=str), status_code=HTTPStatus.OK, - mimetype="application/json", + mimetype=ResponseEnums.MIME_TYPE.value, ) except ValueError: return func.HttpResponse( - body=b"Invalid Format ID", + body=ResponseEnums.INVALID_ID.value, status_code=HTTPStatus.BAD_REQUEST, - mimetype="application/json" + mimetype=ResponseEnums.MIME_TYPE.value, )