Skip to content

Commit 9dfd66a

Browse files
authored
fix: TT-133 Remove old logic for find_all on time entries (#286)
Co-authored-by: Pablo <Solorzano>
1 parent 6434d2a commit 9dfd66a

File tree

5 files changed

+5
-164
lines changed

5 files changed

+5
-164
lines changed

tests/time_tracker_api/time_entries/time_entries_model_test.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -290,15 +290,7 @@ def test_updated_item_without_deleted_key_should_call_validate_data(
290290
@patch(
291291
'time_tracker_api.time_entries.time_entries_repository.TimeEntryCosmosDBRepository.add_complementary_info'
292292
)
293-
@patch(
294-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
295-
)
296-
@patch(
297-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
298-
)
299293
def test_find_all_v2(
300-
is_toggle_enabled_for_user_mock,
301-
get_azure_app_configuration_client_mock,
302294
add_complementary_info_mock,
303295
create_custom_sql_conditions_mock,
304296
create_sql_where_conditions_mock,
@@ -309,7 +301,6 @@ def test_find_all_v2(
309301
event_context: EventContext,
310302
time_entry_repository: TimeEntryCosmosDBRepository,
311303
):
312-
is_toggle_enabled_for_user_mock.return_value = True
313304
expected_item = {
314305
'id': 'id',
315306
'start_date': '2021-03-22T10:00:00.000Z',

tests/time_tracker_api/time_entries/time_entries_namespace_test.py

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -137,22 +137,12 @@ def test_create_time_entry_with_missing_req_field_should_return_bad_request(
137137
repository_create_mock.assert_not_called()
138138

139139

140-
@patch(
141-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
142-
)
143-
@patch(
144-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
145-
)
146140
def test_list_all_time_entries(
147-
is_toggle_enabled_for_user_mock,
148-
get_azure_app_configuration_client_mock,
149141
client: FlaskClient,
150142
mocker: MockFixture,
151143
valid_header: dict,
152144
time_entries_dao,
153145
):
154-
is_toggle_enabled_for_user_mock.return_value = True
155-
156146
dao_get_all_mock = mocker.patch.object(
157147
time_entries_dao, 'get_all', return_value=[]
158148
)
@@ -232,15 +222,7 @@ def test_get_time_entry_should_succeed_with_valid_id(
232222
(True, ['id1', 'id1']),
233223
],
234224
)
235-
@patch(
236-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
237-
)
238-
@patch(
239-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
240-
)
241225
def test_get_time_entries_by_type_of_user_when_is_user_tester(
242-
is_toggle_enabled_for_user_mock,
243-
get_azure_app_configuration_client_mock,
244226
get_test_user_ids_mock,
245227
is_test_user_mock,
246228
client: FlaskClient,
@@ -249,7 +231,6 @@ def test_get_time_entries_by_type_of_user_when_is_user_tester(
249231
current_user_is_tester,
250232
expected_user_ids,
251233
):
252-
is_toggle_enabled_for_user_mock.return_value = True
253234
test_user_id = "id1"
254235
non_test_user_id = "id2"
255236
te1 = TimeEntryCosmosDBModel(
@@ -322,15 +303,7 @@ def test_get_time_entries_by_type_of_user_when_is_user_tester(
322303
(False, ['id1', 'id1']),
323304
],
324305
)
325-
@patch(
326-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
327-
)
328-
@patch(
329-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
330-
)
331306
def test_get_time_entries_by_type_of_user_when_is_not_user_tester(
332-
is_toggle_enabled_for_user_mock,
333-
get_azure_app_configuration_client_mock,
334307
get_test_user_ids_mock,
335308
is_test_user_mock,
336309
client: FlaskClient,
@@ -339,7 +312,6 @@ def test_get_time_entries_by_type_of_user_when_is_not_user_tester(
339312
current_user_is_tester,
340313
expected_user_ids,
341314
):
342-
is_toggle_enabled_for_user_mock.return_value = True
343315
test_user_id = "id1"
344316
non_test_user_id = "id2"
345317
te1 = TimeEntryCosmosDBModel(
@@ -806,21 +778,12 @@ def test_create_with_valid_uuid_format_should_return_created(
806778
('/time-entries'),
807779
],
808780
)
809-
@patch(
810-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
811-
)
812-
@patch(
813-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
814-
)
815781
def test_get_all_passes_date_range_built_from_params_to_find_all(
816-
is_toggle_enabled_for_user_mock,
817-
get_azure_app_configuration_client_mock,
818782
client: FlaskClient,
819783
valid_header: dict,
820784
url: str,
821785
time_entries_dao,
822786
):
823-
is_toggle_enabled_for_user_mock.return_value = True
824787
time_entries_dao.repository.find_all = Mock(return_value=[])
825788

826789
response = client.get(url, headers=valid_header)
@@ -852,24 +815,14 @@ def test_get_all_passes_date_range_built_from_params_to_find_all(
852815
),
853816
],
854817
)
855-
@patch(
856-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
857-
)
858-
@patch(
859-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
860-
)
861818
def test_get_all_passes_date_range_to_find_all_with_default_tz_offset(
862-
is_toggle_enabled_for_user_mock,
863-
get_azure_app_configuration_client_mock,
864819
client: FlaskClient,
865820
valid_header: dict,
866821
time_entries_dao,
867822
url: str,
868823
start_date: str,
869824
end_date: str,
870825
):
871-
is_toggle_enabled_for_user_mock.return_value = True
872-
873826
time_entries_dao.repository.find_all = Mock(return_value=[])
874827

875828
response = client.get(url, headers=valid_header)
@@ -923,23 +876,14 @@ def test_get_all_passes_date_range_to_find_all_with_default_tz_offset(
923876
),
924877
],
925878
)
926-
@patch(
927-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.get_azure_app_configuration_client'
928-
)
929-
@patch(
930-
'commons.feature_toggles.feature_toggle_manager.FeatureToggleManager.is_toggle_enabled_for_user'
931-
)
932879
def test_get_all_passes_date_range_to_find_all_with_given_tz_offset(
933-
is_toggle_enabled_for_user_mock,
934-
get_azure_app_configuration_client_mock,
935880
client: FlaskClient,
936881
valid_header: dict,
937882
time_entries_dao,
938883
url: str,
939884
start_date: str,
940885
end_date: str,
941886
):
942-
is_toggle_enabled_for_user_mock.return_value = True
943887
time_entries_dao.repository.find_all = Mock(return_value=[])
944888

945889
response = client.get(url, headers=valid_header)

time_tracker_api/time_entries/time_entries_dao.py

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -92,39 +92,6 @@ def build_custom_query(self, is_admin: bool, conditions: dict = None):
9292
)
9393
return custom_query
9494

95-
def get_all_old(self, conditions: dict = None, **kwargs) -> list:
96-
event_ctx = self.create_event_context("read-many")
97-
conditions.update({"owner_id": event_ctx.user_id})
98-
is_complete_query = conditions.get("user_id") == '*'
99-
custom_query = self.build_custom_query(
100-
is_admin=event_ctx.is_admin,
101-
conditions=conditions,
102-
)
103-
date_range = self.handle_date_filter_args(args=conditions)
104-
limit = conditions.get("limit", None)
105-
conditions.pop("limit", None)
106-
azure_connection = AzureConnection()
107-
current_user_is_tester = azure_connection.is_test_user(
108-
event_ctx.user_id
109-
)
110-
time_entries_list = self.repository.find_all_old(
111-
event_ctx,
112-
conditions=conditions,
113-
custom_sql_conditions=custom_query,
114-
date_range=date_range,
115-
max_count=limit,
116-
)
117-
if not current_user_is_tester and is_complete_query:
118-
test_user_ids = azure_connection.get_test_user_ids()
119-
time_entries_list = [
120-
time_entry
121-
for time_entry in time_entries_list
122-
if time_entry.owner_id not in test_user_ids
123-
]
124-
return time_entries_list
125-
else:
126-
return time_entries_list
127-
12895
def get_all(self, conditions: dict = None, **kwargs) -> list:
12996
event_ctx = self.create_event_context("read-many")
13097
conditions.update({"owner_id": event_ctx.user_id})
@@ -272,7 +239,10 @@ def update(self, id, data: dict, description=None):
272239

273240
if data.get('update_last_entry_if_overlap', None):
274241
self.repository.update_last_entry(
275-
data.get('owner_id'), data.get('start_date'), data.get('id'), event_ctx
242+
data.get('owner_id'),
243+
data.get('start_date'),
244+
data.get('id'),
245+
event_ctx,
276246
)
277247

278248
return self.repository.partial_update(

time_tracker_api/time_entries/time_entries_namespace.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
)
2020
from time_tracker_api.time_entries.time_entries_dao import create_dao
2121

22-
from commons.feature_toggles.feature_toggle_manager import FeatureToggleManager
23-
2422
faker = Faker()
2523

2624
ns = api.namespace(
@@ -239,11 +237,7 @@ class TimeEntries(Resource):
239237
def get(self):
240238
"""List all time entries"""
241239
conditions = attributes_filter.parse_args()
242-
find_all_version = FeatureToggleManager('find_all_version')
243-
if find_all_version.is_toggle_enabled_for_user():
244-
return time_entries_dao.get_all(conditions=conditions)
245-
else:
246-
return time_entries_dao.get_all_old(conditions=conditions)
240+
return time_entries_dao.get_all(conditions=conditions)
247241

248242
@ns.doc('create_time_entry')
249243
@ns.expect(time_entry_input)

time_tracker_api/time_entries/time_entries_repository.py

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -172,64 +172,6 @@ def add_complementary_info(self, time_entries=None, max_count=None):
172172
abort(HTTPStatus.NOT_FOUND, "Time entry not found")
173173
return time_entries
174174

175-
def find_all_old(
176-
self,
177-
event_context: EventContext,
178-
conditions: dict = None,
179-
custom_sql_conditions: List[str] = None,
180-
date_range: dict = None,
181-
**kwargs,
182-
):
183-
conditions = conditions if conditions else {}
184-
custom_sql_conditions = (
185-
custom_sql_conditions if custom_sql_conditions else []
186-
)
187-
date_range = date_range if date_range else {}
188-
189-
custom_sql_conditions.append(
190-
self.create_sql_date_range_filter(date_range)
191-
)
192-
193-
custom_params = self.generate_params(date_range)
194-
time_entries = CosmosDBRepository.find_all(
195-
self,
196-
event_context=event_context,
197-
conditions=conditions,
198-
custom_sql_conditions=custom_sql_conditions,
199-
custom_params=custom_params,
200-
max_count=kwargs.get("max_count", None),
201-
offset=kwargs.get("offset", 0),
202-
)
203-
204-
if time_entries:
205-
custom_conditions = create_in_condition(time_entries, "project_id")
206-
custom_conditions_activity = create_in_condition(
207-
time_entries, "activity_id"
208-
)
209-
210-
project_dao = projects_model.create_dao()
211-
projects = project_dao.get_all(
212-
custom_sql_conditions=[custom_conditions],
213-
visible_only=False,
214-
max_count=kwargs.get("max_count", None),
215-
)
216-
217-
add_project_info_to_time_entries(time_entries, projects)
218-
219-
activity_dao = activities_model.create_dao()
220-
activities = activity_dao.get_all(
221-
custom_sql_conditions=[custom_conditions_activity],
222-
visible_only=False,
223-
max_count=kwargs.get("max_count", None),
224-
)
225-
add_activity_name_to_time_entries(time_entries, activities)
226-
227-
users = AzureConnection().users()
228-
add_user_email_to_time_entries(time_entries, users)
229-
elif not time_entries and len(conditions) > 1:
230-
abort(HTTPStatus.NOT_FOUND, "Time entry not found")
231-
return time_entries
232-
233175
def find_all(
234176
self,
235177
conditions,

0 commit comments

Comments
 (0)