diff --git a/apps/reports/tests/test_views.py b/apps/reports/tests/test_views.py index acfac81..27587c2 100644 --- a/apps/reports/tests/test_views.py +++ b/apps/reports/tests/test_views.py @@ -89,10 +89,14 @@ class ReportViewTests(APITestCase): def test_member_only_sees_own_chart_report(self): self.client.force_authenticate(user=self.member) - response = self.client.get( - "/api/reports/chart/", - {"workspace": str(self.workspace.id), "period": "this_month"}, - ) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + response = self.client.get( + "/api/reports/chart/", + {"workspace": str(self.workspace.id), "period": "this_month"}, + ) self.assertEqual(response.status_code, 200) self.assertEqual(response.data["summary"]["total_duration"], "01:00:00") @@ -100,10 +104,14 @@ class ReportViewTests(APITestCase): def test_admin_can_request_combined_table_report(self): self.client.force_authenticate(user=self.admin) - response = self.client.get( - "/api/reports/table/", - {"workspace": str(self.workspace.id), "period": "this_month"}, - ) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + response = self.client.get( + "/api/reports/table/", + {"workspace": str(self.workspace.id), "period": "this_month"}, + ) self.assertEqual(response.status_code, 200) self.assertEqual(response.data["summary"]["total_duration"], "03:00:00") @@ -139,14 +147,18 @@ class ReportViewTests(APITestCase): currency="USD", ) - response = self.client.get( - "/api/reports/table/", - { - "workspace": str(self.workspace.id), - "period": "this_month", - "user": str(self.owner.id), - }, - ) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + response = self.client.get( + "/api/reports/table/", + { + "workspace": str(self.workspace.id), + "period": "this_month", + "user": str(self.owner.id), + }, + ) self.assertEqual(response.status_code, 200) target_day = next(day for day in response.data["days"] if day["date"] == "2026-04-15") @@ -218,14 +230,22 @@ class ReportViewTests(APITestCase): url = "/api/reports/table/" params = {"workspace": str(self.workspace.id), "period": "this_month"} - first_response = self.client.get(url, params) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + first_response = self.client.get(url, params) self.assertEqual(first_response.status_code, 200) self.assertEqual(first_response.data["summary"]["total_duration"], "03:00:00") member_entry = TimeEntry.objects.get(description="Member work") TimeEntry.objects.filter(id=member_entry.id).update(duration=timedelta(hours=5)) - cached_response = self.client.get(url, params) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + cached_response = self.client.get(url, params) self.assertEqual(cached_response.status_code, 200) self.assertEqual(cached_response.data["summary"]["total_duration"], "03:00:00") @@ -233,6 +253,10 @@ class ReportViewTests(APITestCase): member_entry.description = "Member work updated" member_entry.save(update_fields=["description"]) - fresh_response = self.client.get(url, params) + with patch( + "apps.reports.services.aggregation.timezone.localdate", + return_value=date(2026, 4, 20), + ): + fresh_response = self.client.get(url, params) self.assertEqual(fresh_response.status_code, 200) self.assertEqual(fresh_response.data["summary"]["total_duration"], "07:00:00")