test(reports): freeze date-sensitive report view cases
This commit is contained in:
@@ -89,6 +89,10 @@ class ReportViewTests(APITestCase):
|
|||||||
def test_member_only_sees_own_chart_report(self):
|
def test_member_only_sees_own_chart_report(self):
|
||||||
self.client.force_authenticate(user=self.member)
|
self.client.force_authenticate(user=self.member)
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/api/reports/chart/",
|
"/api/reports/chart/",
|
||||||
{"workspace": str(self.workspace.id), "period": "this_month"},
|
{"workspace": str(self.workspace.id), "period": "this_month"},
|
||||||
@@ -100,6 +104,10 @@ class ReportViewTests(APITestCase):
|
|||||||
def test_admin_can_request_combined_table_report(self):
|
def test_admin_can_request_combined_table_report(self):
|
||||||
self.client.force_authenticate(user=self.admin)
|
self.client.force_authenticate(user=self.admin)
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/api/reports/table/",
|
"/api/reports/table/",
|
||||||
{"workspace": str(self.workspace.id), "period": "this_month"},
|
{"workspace": str(self.workspace.id), "period": "this_month"},
|
||||||
@@ -139,6 +147,10 @@ class ReportViewTests(APITestCase):
|
|||||||
currency="USD",
|
currency="USD",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/api/reports/table/",
|
"/api/reports/table/",
|
||||||
{
|
{
|
||||||
@@ -218,6 +230,10 @@ class ReportViewTests(APITestCase):
|
|||||||
url = "/api/reports/table/"
|
url = "/api/reports/table/"
|
||||||
params = {"workspace": str(self.workspace.id), "period": "this_month"}
|
params = {"workspace": str(self.workspace.id), "period": "this_month"}
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
first_response = self.client.get(url, params)
|
first_response = self.client.get(url, params)
|
||||||
self.assertEqual(first_response.status_code, 200)
|
self.assertEqual(first_response.status_code, 200)
|
||||||
self.assertEqual(first_response.data["summary"]["total_duration"], "03:00:00")
|
self.assertEqual(first_response.data["summary"]["total_duration"], "03:00:00")
|
||||||
@@ -225,6 +241,10 @@ class ReportViewTests(APITestCase):
|
|||||||
member_entry = TimeEntry.objects.get(description="Member work")
|
member_entry = TimeEntry.objects.get(description="Member work")
|
||||||
TimeEntry.objects.filter(id=member_entry.id).update(duration=timedelta(hours=5))
|
TimeEntry.objects.filter(id=member_entry.id).update(duration=timedelta(hours=5))
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
cached_response = self.client.get(url, params)
|
cached_response = self.client.get(url, params)
|
||||||
self.assertEqual(cached_response.status_code, 200)
|
self.assertEqual(cached_response.status_code, 200)
|
||||||
self.assertEqual(cached_response.data["summary"]["total_duration"], "03:00:00")
|
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.description = "Member work updated"
|
||||||
member_entry.save(update_fields=["description"])
|
member_entry.save(update_fields=["description"])
|
||||||
|
|
||||||
|
with patch(
|
||||||
|
"apps.reports.services.aggregation.timezone.localdate",
|
||||||
|
return_value=date(2026, 4, 20),
|
||||||
|
):
|
||||||
fresh_response = self.client.get(url, params)
|
fresh_response = self.client.get(url, params)
|
||||||
self.assertEqual(fresh_response.status_code, 200)
|
self.assertEqual(fresh_response.status_code, 200)
|
||||||
self.assertEqual(fresh_response.data["summary"]["total_duration"], "07:00:00")
|
self.assertEqual(fresh_response.data["summary"]["total_duration"], "07:00:00")
|
||||||
|
|||||||
Reference in New Issue
Block a user