23 lines
793 B
Python
23 lines
793 B
Python
import pytest
|
|
|
|
from apps.tickets.services import TicketStatusError, validate_status_transition
|
|
|
|
|
|
def test_pending_ticket_can_move_to_in_progress():
|
|
validate_status_transition("pending", "in_progress")
|
|
|
|
|
|
def test_in_progress_ticket_must_not_close_directly():
|
|
with pytest.raises(TicketStatusError, match="in_progress -> closed"):
|
|
validate_status_transition("in_progress", "closed")
|
|
|
|
|
|
def test_in_progress_ticket_must_not_resolve_directly():
|
|
with pytest.raises(TicketStatusError, match="in_progress -> resolved"):
|
|
validate_status_transition("in_progress", "resolved")
|
|
|
|
|
|
def test_resolved_ticket_cannot_move_back_to_in_progress():
|
|
with pytest.raises(TicketStatusError, match="resolved -> in_progress"):
|
|
validate_status_transition("resolved", "in_progress")
|