Record that a ticket can be in emergency, or not

This commit is contained in:
2025-06-24 10:42:51 +00:00
parent d43b739654
commit 0a331aab37
22 changed files with 896 additions and 5 deletions

View File

@@ -18,6 +18,8 @@ use Chill\TicketBundle\Entity\AddresseeHistory;
use Chill\TicketBundle\Entity\Motive;
use Chill\TicketBundle\Entity\MotiveHistory;
use Chill\TicketBundle\Entity\PersonHistory;
use Chill\TicketBundle\Entity\EmergencyStatusEnum;
use Chill\TicketBundle\Entity\EmergencyStatusHistory;
use Chill\TicketBundle\Entity\StateEnum;
use Chill\TicketBundle\Entity\StateHistory;
use Chill\TicketBundle\Entity\Ticket;
@@ -133,4 +135,27 @@ class TicketTest extends KernelTestCase
self::assertCount(2, $ticket->getStateHistories());
self::assertSame(StateEnum::CLOSED, $ticket->getState());
}
public function testGetEmergencyStatus(): void
{
$ticket = new Ticket();
// Initially, the ticket has no emergency status
self::assertNull($ticket->getEmergencyStatus());
// Create an emergency status history entry with the YES status
$history = new EmergencyStatusHistory(EmergencyStatusEnum::YES, $ticket);
// Verify that the ticket now has the YES status
self::assertSame(EmergencyStatusEnum::YES, $ticket->getEmergencyStatus());
self::assertCount(1, $ticket->getEmergencyStatusHistories());
// Change the emergency status to NO
$history->setEndDate(new \DateTimeImmutable());
$history2 = new EmergencyStatusHistory(EmergencyStatusEnum::NO, $ticket);
// Verify that the ticket now has the NO status
self::assertCount(2, $ticket->getEmergencyStatusHistories());
self::assertSame(EmergencyStatusEnum::NO, $ticket->getEmergencyStatus());
}
}