|
9 | 9 | from time_tracker._infrastructure import DB |
10 | 10 | from time_tracker.time_entries import _domain as domain_time_entries |
11 | 11 | from time_tracker.time_entries import _infrastructure as infrastructure_time_entries |
| 12 | +from time_tracker.utils.enums import ResponseEnums |
12 | 13 |
|
13 | 14 |
|
14 | 15 | TIME_ENTRY_URL = "/api/time-entries/" |
@@ -208,3 +209,42 @@ def test__update_time_entries_azure_endpoint__returns_a_status_code_400__when_ti |
208 | 209 |
|
209 | 210 | assert response.status_code == 400 |
210 | 211 | assert response.get_body() == b'Incorrect time entry body' |
| 212 | + |
| 213 | + |
| 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 | + |
| 235 | +def test__get_latest_entries_azure_endpoint__returns_not_found__when_recieve_an_invalid_owner_id( |
| 236 | + test_db, insert_activity, activity_factory, |
| 237 | +): |
| 238 | + insert_activity(activity_factory(), test_db) |
| 239 | + |
| 240 | + req = func.HttpRequest( |
| 241 | + method='GET', |
| 242 | + body=None, |
| 243 | + url=TIME_ENTRY_URL+"latest/", |
| 244 | + params={"owner_id": Faker().pyint()}, |
| 245 | + ) |
| 246 | + |
| 247 | + response = azure_time_entries._get_latest_entries.get_latest_entries(req) |
| 248 | + |
| 249 | + assert response.status_code == HTTPStatus.NOT_FOUND |
| 250 | + assert response.get_body().decode("utf-8") == ResponseEnums.NOT_FOUND.value |
0 commit comments