Skip to content

Commit f3d9023

Browse files
committed
feat: TT-403 tests added
1 parent cbbb82d commit f3d9023

File tree

18 files changed

+181
-360
lines changed

18 files changed

+181
-360
lines changed

V2/create_activity/function.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

V2/delete_activity/function.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

V2/delete_time_entry/function.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

V2/get_activities/function.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

V2/tests/api/azure/activity_azure_endpoints_test.py

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
1-
import pytest
21
import json
32
from faker import Faker
43

54
import azure.functions as func
65

76
import time_tracker.activities._application._activities as azure_activities
8-
import time_tracker.activities._infrastructure as infrastructure
9-
from time_tracker._infrastructure import DB
10-
from time_tracker.activities import _domain
11-
12-
ACTIVITY_URL = '/api/activities/'
137

148

15-
@pytest.fixture(name='insert_activity')
16-
def _insert_activity() -> dict:
17-
def _new_activity(activity: _domain.Activity, database: DB):
18-
dao = infrastructure.ActivitiesSQLDao(database)
19-
new_activity = dao.create(activity)
20-
return new_activity.__dict__
21-
return _new_activity
9+
ACTIVITY_URL = '/api/activities/'
2210

2311

2412
def test__activity_azure_endpoint__returns_all_activities(
@@ -27,8 +15,8 @@ def test__activity_azure_endpoint__returns_all_activities(
2715
fake_database = create_fake_database
2816
existent_activities = [activity_factory(), activity_factory()]
2917
inserted_activities = [
30-
insert_activity(existent_activities[0], fake_database),
31-
insert_activity(existent_activities[1], fake_database)
18+
insert_activity(existent_activities[0], fake_database).__dict__,
19+
insert_activity(existent_activities[1], fake_database).__dict__
3220
]
3321

3422
azure_activities._get_activities.DATABASE = fake_database
@@ -45,7 +33,7 @@ def test__activity_azure_endpoint__returns_an_activity__when_activity_matches_it
4533
):
4634
fake_database = create_fake_database
4735
existent_activity = activity_factory()
48-
inserted_activity = insert_activity(existent_activity, fake_database)
36+
inserted_activity = insert_activity(existent_activity, fake_database).__dict__
4937

5038
azure_activities._get_activities.DATABASE = fake_database
5139
req = func.HttpRequest(
@@ -67,7 +55,7 @@ def test__activity_azure_endpoint__returns_an_activity_with_inactive_status__whe
6755
):
6856
fake_database = create_fake_database
6957
existent_activity = activity_factory()
70-
inserted_activity = insert_activity(existent_activity, fake_database)
58+
inserted_activity = insert_activity(existent_activity, fake_database).__dict__
7159

7260
azure_activities._delete_activity.DATABASE = fake_database
7361
req = func.HttpRequest(
@@ -90,7 +78,7 @@ def test__update_activity_azure_endpoint__returns_an_activity__when_found_an_act
9078
):
9179
fake_database = create_fake_database
9280
existent_activity = activity_factory()
93-
inserted_activity = insert_activity(existent_activity, fake_database)
81+
inserted_activity = insert_activity(existent_activity, fake_database).__dict__
9482

9583
azure_activities._update_activity.DATABASE = fake_database
9684
activity_body = {"description": Faker().sentence()}
Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,63 @@
1-
from time_tracker.time_entries._application import _time_entries as time_entries
1+
import pytest
2+
import json
23

34
import azure.functions as func
4-
import json
5+
6+
import time_tracker.time_entries._application._time_entries as azure_time_entries
7+
from time_tracker._infrastructure import DB
8+
from time_tracker.time_entries import _domain as domain_time_entries
9+
from time_tracker.time_entries import _infrastructure as infrastructure_time_entries
510

611

712
TIME_ENTRY_URL = "/api/time-entries/"
813

914

15+
@pytest.fixture(name='insert_time_entry')
16+
def _insert_time_entry() -> domain_time_entries.TimeEntry:
17+
def _new_time_entry(time_entry: domain_time_entries.TimeEntry, database: DB):
18+
dao = infrastructure_time_entries.TimeEntriesSQLDao(database)
19+
new_time_entry = dao.create(time_entry)
20+
return new_time_entry
21+
return _new_time_entry
22+
23+
1024
def test__delete_time_entries_azure_endpoint__returns_an_time_entry_with_true_deleted__when_its_id_is_found(
11-
create_temp_time_entries,
25+
create_fake_database, time_entry_factory, insert_time_entry, insert_activity, activity_factory,
1226
):
13-
time_entries_json, tmp_directory = create_temp_time_entries
14-
time_entries.delete_time_entry.JSON_PATH = tmp_directory
27+
db = create_fake_database
28+
azure_time_entries._delete_time_entry.DATABASE = db
29+
inserted_activity = insert_activity(activity_factory(), db).__dict__
30+
time_entry_body = time_entry_factory(activity_id=inserted_activity["id"], technologies="[jira,sql]")
31+
inserted_time_entry = insert_time_entry(time_entry_body, db)
32+
1533
req = func.HttpRequest(
16-
method="DELETE",
34+
method='DELETE',
1735
body=None,
1836
url=TIME_ENTRY_URL,
19-
route_params={"id": time_entries_json[0]["id"]},
37+
route_params={"id": inserted_time_entry.id},
2038
)
2139

22-
response = time_entries.delete_time_entry(req)
40+
response = azure_time_entries._delete_time_entry.delete_time_entry(req)
2341
time_entry_json_data = json.loads(response.get_body().decode("utf-8"))
2442

2543
assert response.status_code == 200
26-
assert time_entry_json_data["deleted"] is True
44+
assert time_entry_json_data['deleted'] is True
2745

2846

2947
def test__delete_time_entries_azure_endpoint__returns_a_status_code_400__when_time_entry_recive_invalid_id(
30-
create_temp_time_entries,
48+
create_fake_database,
3149
):
32-
tmp_directory = create_temp_time_entries
33-
time_entries.delete_time_entry.JSON_PATH = tmp_directory
50+
db = create_fake_database
51+
azure_time_entries._delete_time_entry.DATABASE = db
52+
3453
req = func.HttpRequest(
3554
method="DELETE",
3655
body=None,
3756
url=TIME_ENTRY_URL,
3857
route_params={"id": "invalid id"},
3958
)
4059

41-
response = time_entries.delete_time_entry(req)
60+
response = azure_time_entries._delete_time_entry.delete_time_entry(req)
4261

4362
assert response.status_code == 400
4463
assert response.get_body() == b'Invalid Format ID'

V2/tests/conftest.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
11
# flake8: noqa
2-
<<<<<<< HEAD
3-
from fixtures import _activity_factory, _create_fake_dao, _create_fake_database
4-
=======
5-
from fixtures import create_temp_activities
6-
from fixtures import create_temp_time_entries
7-
from fixtures import _time_entry_factory
8-
>>>>>>> 42cfc46... feat: TT-401 validated request create time entry
2+
from fixtures import _activity_factory, _create_fake_database, _insert_activity
3+
from fixtures import _time_entry_factory

0 commit comments

Comments
 (0)