Skip to content

Commit 3cac470

Browse files
authored
refactor: TT-308 Use enums insted defined variables (#317)
1 parent 0ba1b51 commit 3cac470

File tree

13 files changed

+50
-27
lines changed

13 files changed

+50
-27
lines changed
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from faker.providers import BaseProvider
22

3+
from utils.enums.status import Status
4+
35

46
class CommonProvider(BaseProvider):
57
def status(self) -> str:
6-
available_status = ['active', 'inactive']
8+
available_status = [Status.ACTIVE.value, Status.INACTIVE.value]
79
return self.random_element(elements=available_status)

tests/time_tracker_api/activities/activities_model_test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
ActivityCosmosDBModel,
88
create_dao,
99
)
10+
from utils.enums.status import Status
1011

1112
faker = Faker()
1213

@@ -59,7 +60,7 @@ def test_create_activity_should_add_active_status(
5960
activity_dao.create(activity_payload)
6061

6162
expect_argument = copy.copy(activity_payload)
62-
expect_argument['status'] = 'active'
63+
expect_argument['status'] = Status.ACTIVE.value
6364
activity_repository_create_mock.assert_called_with(
6465
data=expect_argument, event_context=ANY
6566
)

tests/time_tracker_api/activities/activities_namespace_test.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from flask_restplus._http import HTTPStatus
77
from pytest_mock import MockFixture
88

9+
from utils.enums.status import Status
10+
911
fake = Faker()
1012

1113
valid_activity_data = {
@@ -101,7 +103,7 @@ def test_list_all_active_activities(
101103

102104
repository_find_all_mock.assert_called_once_with(
103105
event_context=ANY,
104-
conditions={'status': 'active'},
106+
conditions={'status': Status.ACTIVE.value},
105107
activities_id=ANY,
106108
visible_only=ANY,
107109
max_count=ANY,
@@ -259,7 +261,7 @@ def test_delete_activity_should_succeed_with_valid_id(
259261
assert HTTPStatus.NO_CONTENT == response.status_code
260262
assert b'' == response.data
261263
repository_remove_mock.assert_called_once_with(
262-
str(valid_id), {'status': 'inactive'}, ANY
264+
str(valid_id), {'status': Status.INACTIVE.value}, ANY
263265
)
264266

265267

@@ -283,7 +285,7 @@ def test_delete_activity_should_return_not_found_with_invalid_id(
283285

284286
assert HTTPStatus.NOT_FOUND == response.status_code
285287
repository_remove_mock.assert_called_once_with(
286-
str(invalid_id), {'status': 'inactive'}, ANY
288+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
287289
)
288290

289291

@@ -309,5 +311,5 @@ def test_delete_activity_should_return_422_for_invalid_id_format(
309311

310312
assert HTTPStatus.UNPROCESSABLE_ENTITY == response.status_code
311313
repository_remove_mock.assert_called_once_with(
312-
str(invalid_id), {'status': 'inactive'}, ANY
314+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
313315
)

tests/time_tracker_api/customers/customers_namespace_test.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from flask_restplus._http import HTTPStatus
77
from pytest_mock import MockFixture
88

9+
from utils.enums.status import Status
10+
911
fake = Faker()
1012

1113
valid_customer_data = {
@@ -229,7 +231,7 @@ def test_delete_customer_should_succeed_with_valid_id(
229231
assert HTTPStatus.NO_CONTENT == response.status_code
230232
assert b'' == response.data
231233
repository_remove_mock.assert_called_once_with(
232-
str(valid_id), {'status': 'inactive'}, ANY
234+
str(valid_id), {'status': Status.INACTIVE.value}, ANY
233235
)
234236

235237

@@ -253,7 +255,7 @@ def test_delete_customer_should_return_not_found_with_invalid_id(
253255

254256
assert HTTPStatus.NOT_FOUND == response.status_code
255257
repository_remove_mock.assert_called_once_with(
256-
str(invalid_id), {'status': 'inactive'}, ANY
258+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
257259
)
258260

259261

@@ -282,7 +284,7 @@ def test_delete_customer_should_return_422_for_invalid_id_format(
282284

283285
assert HTTPStatus.UNPROCESSABLE_ENTITY == response.status_code
284286
repository_remove_mock.assert_called_once_with(
285-
str(invalid_id), {'status': 'inactive'}, ANY
287+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
286288
)
287289

288290

tests/time_tracker_api/projects/projects_namespace_test.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from pytest_mock import MockFixture
88

99
from time_tracker_api.projects.projects_model import ProjectCosmosDBDao
10+
from utils.enums.status import Status
1011

1112
fake = Faker()
1213

@@ -256,7 +257,7 @@ def test_delete_project_should_succeed_with_valid_id(
256257
assert HTTPStatus.NO_CONTENT == response.status_code
257258
assert b'' == response.data
258259
repository_remove_mock.assert_called_once_with(
259-
str(valid_id), {'status': 'inactive'}, ANY
260+
str(valid_id), {'status': Status.INACTIVE.value}, ANY
260261
)
261262

262263

@@ -280,7 +281,7 @@ def test_delete_project_should_return_not_found_with_invalid_id(
280281

281282
assert HTTPStatus.NOT_FOUND == response.status_code
282283
repository_remove_mock.assert_called_once_with(
283-
str(invalid_id), {'status': 'inactive'}, ANY
284+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
284285
)
285286

286287

@@ -306,5 +307,5 @@ def test_delete_project_should_return_unprocessable_entity_for_invalid_id_format
306307

307308
assert HTTPStatus.UNPROCESSABLE_ENTITY == response.status_code
308309
repository_remove_mock.assert_called_once_with(
309-
str(invalid_id), {'status': 'inactive'}, ANY
310+
str(invalid_id), {'status': Status.INACTIVE.value}, ANY
310311
)

tests/utils/query_builder_test.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
from unittest.mock import patch
2+
3+
from utils.enums.status import Status
24
from utils.query_builder import CosmosDBQueryBuilder, Order
35
from utils.repository import remove_white_spaces
46
import pytest
@@ -376,7 +378,7 @@ def test_build_with_add_sql_date_range_condition():
376378

377379

378380
def test_add_sql_active_condition_should_update_where_conditions():
379-
status_value = 'active'
381+
status_value = Status.ACTIVE.value
380382
expected_active_query = f"""
381383
SELECT * FROM c
382384
WHERE NOT IS_DEFINED(c.status) OR (IS_DEFINED(c.status) AND c.status = '{status_value}')
@@ -399,7 +401,7 @@ def test_add_sql_active_condition_should_update_where_conditions():
399401

400402

401403
def test_add_sql_inactive_condition_should_update_where_conditions():
402-
status_value = 'inactive'
404+
status_value = Status.INACTIVE.value
403405
expected_inactive_query = f"""
404406
SELECT * FROM c
405407
WHERE (IS_DEFINED(c.status) AND c.status = '{status_value}')

time_tracker_api/activities/activities_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from time_tracker_api.database import CRUDDao, APICosmosDBDao
1111
from typing import List, Callable
1212
from commons.data_access_layer.database import EventContext
13+
from utils.enums.status import Status
1314
from utils.query_builder import CosmosDBQueryBuilder
1415

1516

@@ -148,7 +149,7 @@ def get_all(
148149

149150
def create(self, activity_payload: dict):
150151
event_ctx = self.create_event_context('create')
151-
activity_payload['status'] = 'active'
152+
activity_payload['status'] = Status.ACTIVE.value
152153
return self.repository.create(
153154
data=activity_payload, event_context=event_ctx
154155
)

time_tracker_api/activities/activities_namespace.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
remove_required_constraint,
1010
NullableString,
1111
)
12+
from utils.enums.status import Status
1213

1314
faker = Faker()
1415

@@ -40,8 +41,8 @@
4041
example=Faker().words(
4142
2,
4243
[
43-
'active',
44-
'inactive',
44+
Status.ACTIVE.value,
45+
Status.INACTIVE.value,
4546
],
4647
unique=True,
4748
),
@@ -117,5 +118,5 @@ def put(self, id):
117118
@ns.response(HTTPStatus.NO_CONTENT, 'Activity deleted successfully')
118119
def delete(self, id):
119120
"""Delete an activity"""
120-
activity_dao.update(id, {'status': 'inactive'})
121+
activity_dao.update(id, {'status': Status.INACTIVE.value})
121122
return None, HTTPStatus.NO_CONTENT

time_tracker_api/customers/customers_model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
CosmosDBDao,
99
)
1010
from time_tracker_api.database import CRUDDao, APICosmosDBDao
11+
from utils.enums.status import Status
1112

1213

1314
class CustomerDao(CRUDDao):
@@ -32,7 +33,7 @@ class CustomerCosmosDBModel(CosmosDBModel):
3233
description: str
3334
deleted: str
3435
tenant_id: str
35-
status: str = field(default='active')
36+
status: str = field(default=Status.ACTIVE.value)
3637

3738
def __init__(self, data):
3839
super(CustomerCosmosDBModel, self).__init__(data) # pragma: no cover

time_tracker_api/customers/customers_namespace.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
NullableString,
1010
)
1111
from time_tracker_api.customers.customers_model import create_dao
12+
from utils.enums.status import Status
1213

1314
faker = Faker()
1415

@@ -41,8 +42,8 @@
4142
example=Faker().words(
4243
2,
4344
[
44-
'active',
45-
'inactive',
45+
Status.ACTIVE.value,
46+
Status.INACTIVE.value,
4647
],
4748
unique=True,
4849
),
@@ -122,5 +123,5 @@ def put(self, id):
122123
@ns.response(HTTPStatus.NO_CONTENT, 'Customer successfully deleted')
123124
def delete(self, id):
124125
"""Delete a customer"""
125-
customer_dao.update(id, {'status': 'inactive'})
126+
customer_dao.update(id, {'status': Status.INACTIVE.value})
126127
return None, HTTPStatus.NO_CONTENT

0 commit comments

Comments
 (0)