Replace isScanned with state (valid/invalid/expired) and firstScannedAt on BilletOrder

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-21 14:15:32 +01:00
parent 2b48d2081f
commit 2efb5f176a
4 changed files with 75 additions and 21 deletions

View File

@@ -19,8 +19,9 @@ class BilletOrderTest extends TestCase
self::assertNull($ticket->getBilletName());
self::assertSame(0, $ticket->getUnitPriceHT());
self::assertSame(0.0, $ticket->getUnitPriceHTDecimal());
self::assertFalse($ticket->isScanned());
self::assertNull($ticket->getScannedAt());
self::assertSame(BilletOrder::STATE_VALID, $ticket->getState());
self::assertTrue($ticket->isValid());
self::assertNull($ticket->getFirstScannedAt());
self::assertMatchesRegularExpression('/^ETICKET-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}$/', $ticket->getReference());
self::assertInstanceOf(\DateTimeImmutable::class, $ticket->getCreatedAt());
}
@@ -64,22 +65,30 @@ class BilletOrderTest extends TestCase
self::assertSame($ticket, $result);
}
public function testSetAndGetIsScanned(): void
public function testSetAndGetState(): void
{
$ticket = new BilletOrder();
$result = $ticket->setIsScanned(true);
$result = $ticket->setState(BilletOrder::STATE_INVALID);
self::assertTrue($ticket->isScanned());
self::assertSame(BilletOrder::STATE_INVALID, $ticket->getState());
self::assertFalse($ticket->isValid());
self::assertSame($ticket, $result);
$ticket->setState(BilletOrder::STATE_EXPIRED);
self::assertSame(BilletOrder::STATE_EXPIRED, $ticket->getState());
self::assertFalse($ticket->isValid());
$ticket->setState(BilletOrder::STATE_VALID);
self::assertTrue($ticket->isValid());
}
public function testSetAndGetScannedAt(): void
public function testSetAndGetFirstScannedAt(): void
{
$ticket = new BilletOrder();
$date = new \DateTimeImmutable();
$result = $ticket->setScannedAt($date);
$result = $ticket->setFirstScannedAt($date);
self::assertSame($date, $ticket->getScannedAt());
self::assertSame($date, $ticket->getFirstScannedAt());
self::assertSame($ticket, $result);
}