Files
ludikevent_crm/tests/Entity/FormulesTest.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

99 lines
3.7 KiB
PHP

<?php
namespace App\Tests\Entity;
use App\Entity\Formules;
use App\Entity\FormulesOptionsInclus;
use App\Entity\FormulesProductInclus;
use App\Entity\FormulesRestriction;
use PHPUnit\Framework\TestCase;
class FormulesTest extends TestCase
{
public function testGettersAndSetters()
{
$formules = new Formules();
$now = new \DateTimeImmutable();
$formules->setName('Test Formule');
$formules->setImageName('image.jpg');
$formules->setImageSize(1024);
$formules->setUpdatedAt($now);
$formules->setType('package');
$formules->setIsPublish(true);
$formules->setDescription('Formule description');
$formules->setPrice1j(100.0);
$formules->setPrice2j(150.0);
$formules->setPrice5j(300.0);
$formules->setCaution(50.0);
$formules->setPos(1);
$this->assertEquals('Test Formule', $formules->getName());
$this->assertEquals('image.jpg', $formules->getImageName());
$this->assertEquals(1024, $formules->getImageSize());
$this->assertSame($now, $formules->getUpdatedAt());
$this->assertEquals('package', $formules->getType());
$this->assertTrue($formules->isPublish());
$this->assertEquals('Formule description', $formules->getDescription());
$this->assertEquals(100.0, $formules->getPrice1j());
$this->assertEquals(150.0, $formules->getPrice2j());
$this->assertEquals(300.0, $formules->getPrice5j());
$this->assertEquals(50.0, $formules->getCaution());
$this->assertEquals(1, $formules->getPos());
}
public function testSlug()
{
$formules = new Formules();
// $formules->setId(1); // ID is auto-generated, cannot be set directly in unit test
$formules->setName('Test Formule');
$this->assertEquals('-test-formule', $formules->slug()); // ID will be null
}
public function testFormulesProductInclusesCollection()
{
$formules = new Formules();
$productInclus = new FormulesProductInclus();
$this->assertCount(0, $formules->getFormulesProductIncluses());
$formules->addFormulesProductInclus($productInclus);
$this->assertCount(1, $formules->getFormulesProductIncluses());
$this->assertSame($formules, $productInclus->getFormules());
$formules->removeFormulesProductInclus($productInclus);
$this->assertCount(0, $formules->getFormulesProductIncluses());
$this->assertNull($productInclus->getFormules());
}
public function testFormulesOptionsInclusesCollection()
{
$formules = new Formules();
$optionInclus = new FormulesOptionsInclus();
$this->assertCount(0, $formules->getFormulesOptionsIncluses());
$formules->addFormulesOptionsInclus($optionInclus);
$this->assertCount(1, $formules->getFormulesOptionsIncluses());
$this->assertSame($formules, $optionInclus->getFormule());
$formules->removeFormulesOptionsInclus($optionInclus);
$this->assertCount(0, $formules->getFormulesOptionsIncluses());
$this->assertNull($optionInclus->getFormule());
}
public function testSetFormulesRestriction()
{
$formules = new Formules();
$restriction = new FormulesRestriction();
$this->assertNull($formules->getFormulesRestriction());
$formules->setFormulesRestriction($restriction);
$this->assertSame($restriction, $formules->getFormulesRestriction());
$this->assertSame($formules, $restriction->getFormule());
$formules->setFormulesRestriction(null);
$this->assertNull($formules->getFormulesRestriction());
$this->assertNull($restriction->getFormule());
}
}