Créer un point d'api de suggestion des usagers pour un ticket

This commit is contained in:
2025-07-01 12:38:02 +00:00
parent 0566ab0910
commit 4f93150874
27 changed files with 1485 additions and 26 deletions

View File

@@ -0,0 +1,82 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\TicketBundle\Tests\Entity;
use Chill\PersonBundle\Entity\Person;
use Chill\ThirdPartyBundle\Entity\ThirdParty;
use Chill\TicketBundle\Entity\CallerHistory;
use Chill\TicketBundle\Entity\Ticket;
use PHPUnit\Framework\TestCase;
/**
* @internal
*
* @coversNothing
*/
class TicketCallerTest extends TestCase
{
public function testGetCaller(): void
{
$ticket = new Ticket();
// Initially, there should be no caller
self::assertNull($ticket->getCaller());
// Create a person
$person = new Person();
// Create a caller history with the person
$callerHistory = new CallerHistory($person, $ticket);
// The ticket should now return the person as the caller
self::assertSame($person, $ticket->getCaller());
// Create a third party
$thirdParty = new ThirdParty();
// Create a new caller history with the third party
$callerHistory2 = new CallerHistory($thirdParty, $ticket);
// End the first caller history
$callerHistory->setEndDate(new \DateTimeImmutable());
// The ticket should now return the third party as the caller
self::assertSame($thirdParty, $ticket->getCaller());
// End the second caller history
$callerHistory2->setEndDate(new \DateTimeImmutable());
// The ticket should now return null as there is no active caller
self::assertNull($ticket->getCaller());
}
public function testGetCallerHistories(): void
{
$ticket = new Ticket();
// Initially, there should be no caller histories
self::assertCount(0, $ticket->getCallerHistories());
// Create a caller history
$callerHistory = new CallerHistory(new Person(), $ticket);
// The ticket should now have one caller history
self::assertCount(1, $ticket->getCallerHistories());
self::assertSame($callerHistory, $ticket->getCallerHistories()->first());
// Create another caller history
$callerHistory2 = new CallerHistory(new ThirdParty(), $ticket);
// The ticket should now have two caller histories
self::assertCount(2, $ticket->getCallerHistories());
}
}