Files
ludikevent_crm/tests/Entity/DevisTest.php
Serreau Jovann 0be752c145 ```
 feat(revervation): [Ajoute la création de session de réservation et le flow]
🐛 fix(PurgeCommandTest): [Utilise addCommand au lieu de add pour les commandes]
📝 chore(deps): [Mise à jour des dépendances Composer et corrections]
🐛 fix(KeycloakAuthenticator): [Corrige le type nullable de l'exception start]
 feat(Customer): [Ajoute les sessions de commandes aux entités Customer]
♻️ refactor(AppLogger): [Refactorise l'AppLogger pour obtenir l'UserAgent]
 feat(FlowReserve): [Ajoute une action de validation du panier]
```
2026-01-31 13:49:25 +01:00

91 lines
3.5 KiB
PHP

<?php
namespace App\Tests\Entity;
use App\Entity\Customer;
use App\Entity\CustomerAddress;
use App\Entity\Devis;
use App\Entity\DevisLine;
use App\Entity\DevisOptions;
use PHPUnit\Framework\TestCase;
class DevisTest extends TestCase
{
public function testGettersAndSetters()
{
$devis = new Devis();
$customer = new Customer();
$addressShip = new CustomerAddress();
$billAddress = new CustomerAddress();
$now = new \DateTimeImmutable();
$devis->setCustomer($customer);
$devis->setNum('DEVIS-001');
$devis->setCreateA($now);
$devis->setUpdateAt($now); // Use setUpdateAt
$devis->setState('pending');
$devis->setSignatureId('sign123');
$devis->setAddressShip($addressShip);
$devis->setBillAddress($billAddress);
$devis->setStartAt($now->modify('+1 day'));
$devis->setEndAt($now->modify('+2 days'));
$devis->setDevisFileName('devis.pdf');
$devis->setDevisFileSize(1024);
$devis->setDevisDocuSealFileName('docuseal.pdf');
$devis->setDevisDocuSealFileSize(2048);
$devis->setDevisSignedFileName('signed.pdf');
$devis->setDevisSignedFileSize(3072);
$devis->setDevisAuditFileName('audit.pdf');
$devis->setDevisAuditFileSize(4096);
$this->assertSame($customer, $devis->getCustomer());
$this->assertEquals('DEVIS-001', $devis->getNum());
$this->assertEquals($now, $devis->getCreateA());
$this->assertEquals($now, $devis->getUpdateAt()); // Use getUpdateAt
$this->assertEquals('pending', $devis->getState());
$this->assertEquals('sign123', $devis->getSignatureId());
$this->assertSame($addressShip, $devis->getAddressShip());
$this->assertSame($billAddress, $devis->getBillAddress());
$this->assertEquals($now->modify('+1 day'), $devis->getStartAt());
$this->assertEquals($now->modify('+2 days'), $devis->getEndAt());
$this->assertEquals('devis.pdf', $devis->getDevisFileName());
$this->assertEquals(1024, $devis->getDevisFileSize());
$this->assertEquals('docuseal.pdf', $devis->getDevisDocuSealFileName());
$this->assertEquals(2048, $devis->getDevisDocuSealFileSize());
$this->assertEquals('signed.pdf', $devis->getDevisSignedFileName());
$this->assertEquals(3072, $devis->getDevisSignedFileSize());
$this->assertEquals('audit.pdf', $devis->getDevisAuditFileName());
$this->assertEquals(4096, $devis->getDevisAuditFileSize());
}
public function testDevisLinesCollection()
{
$devis = new Devis();
$line = new DevisLine();
$this->assertCount(0, $devis->getDevisLines());
$devis->addDevisLine($line);
$this->assertCount(1, $devis->getDevisLines());
$this->assertSame($devis, $line->getDevi()); // Use getDevi
$devis->removeDevisLine($line);
$this->assertCount(0, $devis->getDevisLines());
$this->assertNull($line->getDevi()); // Use getDevi
}
public function testDevisOptionsCollection()
{
$devis = new Devis();
$option = new DevisOptions();
$this->assertCount(0, $devis->getDevisOptions());
$devis->addDevisOption($option);
$this->assertCount(1, $devis->getDevisOptions());
$this->assertSame($devis, $option->getDevis());
$devis->removeDevisOption($option);
$this->assertCount(0, $devis->getDevisOptions());
$this->assertNull($option->getDevis());
}
}