11import pytest
22import json
33from faker import Faker
4+ from http import HTTPStatus
45
56import azure .functions as func
67
@@ -39,7 +40,7 @@ def test__time_entry_azure_endpoint__creates_an_time_entry__when_time_entry_has_
3940 time_entry_json_data = json .loads (response .get_body ())
4041 time_entry_body ['id' ] = time_entry_json_data ['id' ]
4142
42- assert response .status_code == 201
43+ assert response .status_code == HTTPStatus . CREATED
4344 assert time_entry_json_data == time_entry_body
4445
4546
@@ -60,7 +61,7 @@ def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_de
6061 response = azure_time_entries ._delete_time_entry .delete_time_entry (req )
6162 time_entry_json_data = json .loads (response .get_body ().decode ("utf-8" ))
6263
63- assert response .status_code == 200
64+ assert response .status_code == HTTPStatus . OK
6465 assert time_entry_json_data ['deleted' ] is True
6566
6667
@@ -75,7 +76,65 @@ def test__delete_time_entries_azure_endpoint__returns_a_status_code_400__when_ti
7576
7677 response = azure_time_entries ._delete_time_entry .delete_time_entry (req )
7778
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
79138 assert response .get_body () == b'Invalid Format ID'
80139
81140
0 commit comments