feat: add ticket status filters
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
from datetime import timedelta
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.utils import timezone
|
||||
|
||||
from apps.tickets.models import Ticket, TicketCategory, TicketEvent
|
||||
|
||||
@@ -102,6 +105,43 @@ def test_list_tickets_filters_by_priority_related_system_and_view(admin_client,
|
||||
assert payload["items"][0]["ticket_no"] == "TK202607010101"
|
||||
|
||||
|
||||
def test_list_tickets_filters_profile_status_group_and_completion_window(admin_client, db):
|
||||
current_user = get_user_model().objects.get(username="admin")
|
||||
Ticket.objects.create(
|
||||
ticket_no="TK202607010201",
|
||||
title="Active assigned",
|
||||
description="A",
|
||||
status="in_progress",
|
||||
assignee=current_user,
|
||||
)
|
||||
Ticket.objects.create(
|
||||
ticket_no="TK202607010202",
|
||||
title="Recently completed",
|
||||
description="B",
|
||||
status="resolved",
|
||||
assignee=current_user,
|
||||
resolved_at=timezone.now() - timedelta(days=2),
|
||||
)
|
||||
Ticket.objects.create(
|
||||
ticket_no="TK202607010203",
|
||||
title="Old completed",
|
||||
description="C",
|
||||
status="closed",
|
||||
assignee=current_user,
|
||||
closed_at=timezone.now() - timedelta(days=60),
|
||||
)
|
||||
|
||||
active = admin_client.get(
|
||||
"/api/tickets?view=assigned_to_me&status_group=active"
|
||||
).json()
|
||||
recent = admin_client.get(
|
||||
"/api/tickets?view=assigned_to_me&status_group=completed&resolved_within_days=30"
|
||||
).json()
|
||||
|
||||
assert [item["ticket_no"] for item in active["items"]] == ["TK202607010201"]
|
||||
assert [item["ticket_no"] for item in recent["items"]] == ["TK202607010202"]
|
||||
|
||||
|
||||
def test_transition_ticket_status_creates_event(admin_client, db):
|
||||
ticket = Ticket.objects.create(
|
||||
ticket_no="TK202606300003",
|
||||
|
||||
Reference in New Issue
Block a user