test(dashboard): freeze the clock in the sla trend test

This commit is contained in:
Kaushal Shriwas
2026-10-01 18:29:35 +05:30
parent cb63d5b19f
commit 9643e178dc

View File

@@ -40,23 +40,18 @@ class TestSlaFulfilledCard(IntegrationTestCase):
self.assertEqual(card["value"], 100)
def test_trend_plots_sla_fulfilled_as_percentage(self):
yesterday = add_days(now_datetime(), -1)
for subject, agreement_status in (
("Answered in time", "Fulfilled"),
("Answered late", "Failed"),
):
ticket = self.make_assigned_ticket(subject, status="Closed")
frappe.db.set_value(
"HD Ticket",
ticket.name,
{"creation": yesterday, "agreement_status": agreement_status},
)
with self.freeze_time("2031-03-12 10:00:00"):
for subject, agreement_status in (
("Answered in time", "Fulfilled"),
("Answered late", "Failed"),
):
ticket = self.make_assigned_ticket(subject, status="Closed")
frappe.db.set_value(
"HD Ticket", ticket.name, "agreement_status", agreement_status
)
filters = frappe._dict(
from_date=add_days(nowdate(), -2), to_date=nowdate(), agent=AGENT
)
trend = HelpdeskDashboard(filters).get_ticket_trend_data()["data"]
day = next(row for row in trend if row["date"] == getdate(yesterday))
filters = frappe._dict(from_date="2031-03-12", to_date="2031-03-12", agent=AGENT)
[day] = HelpdeskDashboard(filters).get_ticket_trend_data()["data"]
self.assertEqual(day["SLA Fulfilled"], 50)
def make_assigned_ticket(self, subject: str, status: str | None = None):