Skip to content

Commit 76a35bf

Browse files
committed
fix: TT-365 Resolve comments
1 parent 84b222d commit 76a35bf

File tree

3 files changed

+23
-45
lines changed

3 files changed

+23
-45
lines changed

V2/tests/api/azure/activity_azure_endpoints_test.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,18 @@ def test__activity_azure_endpoint__creates_an_activity__when_activity_has_all_at
8585
create_temp_activities,
8686
):
8787
activities_json, tmp_directory = create_temp_activities
88-
activities._create_activity.JSON_PATH = tmp_directory
88+
activities._create_activity._JSON_PATH = tmp_directory
8989

90-
activity_body = {'id': Faker().uuid4(), 'name': Faker().user_name(), 'description': Faker().sentence(),'deleted': Faker().uuid4() ,'status': 'active', 'tenant_id': Faker().uuid4()}
90+
activity_body = {'id': None, 'name': Faker().user_name(), 'description': Faker().sentence(),'deleted': Faker().uuid4() ,'status': 'active', 'tenant_id': Faker().uuid4()}
9191
body = json.dumps(activity_body).encode("utf-8")
9292
req = func.HttpRequest(
9393
method='POST',
9494
body= body,
95-
url='/api/activities/',
95+
url=ACTIVITY_URL,
9696
)
9797

98-
response = activities._create_activity.create_activity(req)
98+
response = activities.create_activity(req)
9999
activitiy_json_data = response.get_body()
100-
101-
assert response.status_code == 200
100+
print(response)
101+
assert response.status_code == 201
102102
assert activitiy_json_data == body

V2/time_entries/_application/_activities/_create_activity.py

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,81 +5,58 @@
55

66
import azure.functions as func
77

8-
from time_entries._infrastructure import ActivitiesJsonDao
9-
from time_entries._domain import ActivityService, _use_cases, Activity
8+
from ... import _domain
9+
from ... import _infrastructure
1010

1111
_JSON_PATH = (
1212
'time_entries/_infrastructure/_data_persistence/activities_data.json'
1313
)
1414

1515

1616
def create_activity(req: func.HttpRequest) -> func.HttpResponse:
17+
activity_dao = _infrastructure.ActivitiesJsonDao(_JSON_PATH)
18+
activity_service = _domain.ActivityService(activity_dao)
19+
use_case = _domain._use_cases.CreateActivityUseCase(activity_service)
1720
logging.info(
1821
'Python HTTP trigger function processed a request to create an activity.'
1922
)
2023
activity_data = req.get_json()
21-
# status_code = 200
22-
# if _validate_activity(activity_data):
23-
# response = _create_activity(activity_data)
24-
# else:
25-
# status_code = 404
26-
# response = b'Not possible to create activity, attributes are not correct '
27-
24+
print(activity_data)
2825
validation_errors = _validate_activity(activity_data)
2926
if validation_errors:
3027
return func.HttpResponse(
3128
body=validation_errors, status_code=400, mimetype="application/json"
3229
)
33-
34-
activity_to_create = Activity(
35-
id=None,
30+
activity_to_create = _domain.Activity(
31+
id= None,
3632
name=activity_data['name'],
3733
description=activity_data['description'],
38-
status_code=activity_data['status_code'],
39-
deleted=activity_data['delete'],
34+
status=activity_data['status'],
35+
deleted=activity_data['deleted'],
4036
tenant_id=activity_data['tenant_id']
4137
)
4238

43-
# created_activity = use_case.create_activity(activity_to_create)
44-
created_activity = _create_activity(activity_to_create)
45-
46-
if not created_activity:
39+
created_activity = use_case.create_activity(activity_to_create.__dict__)
40+
print("actividad mapeada",activity_to_create)
41+
print("use case",created_activity)
42+
if not create_activity:
4743
return func.HttpResponse(
4844
body={'error': 'activity could not be created'},
4945
status_code=500,
5046
mimetype="application/json",
5147
)
52-
5348
return func.HttpResponse(
5449
body=json.dumps(created_activity.__dict__),
5550
status_code=201,
5651
mimetype="application/json"
5752
)
5853

59-
def _create_activity(activity_data: dict) -> str:
60-
activity_use_case = _use_cases.CreateActivityUseCase(
61-
_create_activity_service(_JSON_PATH)
62-
)
63-
activity = activity_use_case.create_activity(activity_data)
64-
return json.dumps(activity.__dict__) if activity else b'Not Found'
6554

6655
def _validate_activity(activity_data: dict) -> typing.List[str]:
67-
# def _validate_activity(activity_data: dict) -> bool:
68-
69-
activity_fields = [field.name for field in dataclasses.fields(Activity)]
70-
71-
# activity_keys = [field.name for field in dataclasses.fields(Activity)]
72-
# new_activity_keys = list(activity_data.keys())
73-
# return all(map(lambda key: key in activity_keys, new_activity_keys)) and len(activity_keys) == len(new_activity_keys)
56+
activity_fields = [field.name for field in dataclasses.fields(_domain.Activity)]
7457

7558
missing_keys = [field for field in activity_fields if field not in activity_data]
7659
return [
7760
f'The {missing_key} key is missing in the input data'
7861
for missing_key in missing_keys
79-
]
80-
81-
def _create_activity_service(path: str):
82-
activity_json = ActivitiesJsonDao(path)
83-
return ActivityService(activity_json)
84-
85-
62+
]

V2/time_entries/_infrastructure/_data_persistence/_activities_json_dao.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ def create_activity(self, activity_data: dict) -> Activity:
9292
def __get_activities_from_file(self) -> typing.List[dict]:
9393
try:
9494
file = open(self.json_data_file_path)
95+
print("")
9596
activities = json.load(file)
9697
file.close()
9798

0 commit comments

Comments
 (0)