40096-vm/core/tests.py
2026-05-26 15:54:52 +00:00

38 lines
1.3 KiB
Python

from django.test import TestCase
from django.urls import reverse
from .models import Ticket
class TicketWorkflowTests(TestCase):
def test_submit_ticket_creates_record_and_redirects_to_confirmation(self):
response = self.client.post(
reverse("ticket_create"),
{
"requester_name": "Alex Morgan",
"requester_email": "alex@example.com",
"category": Ticket.Category.TECHNICAL,
"priority": Ticket.Priority.HIGH,
"subject": "Cannot access dashboard",
"description": "The dashboard returns an error after login.",
},
)
ticket = Ticket.objects.get()
self.assertRedirects(response, reverse("ticket_success", kwargs={"public_id": ticket.public_id}))
self.assertEqual(ticket.status, Ticket.Status.NEW)
def test_ticket_list_search_finds_requester(self):
Ticket.objects.create(
requester_name="Jamie",
requester_email="jamie@example.com",
category=Ticket.Category.ACCESS,
priority=Ticket.Priority.NORMAL,
subject="VPN access",
description="Please enable VPN.",
)
response = self.client.get(reverse("ticket_list"), {"q": "Jamie"})
self.assertContains(response, "VPN access")