Files
Starseed/tests/Module/Logistique/Domain/WeighingTicketCounterpartyNameTest.php
T
tristan 2b03c4ae15
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m59s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m32s
fix(logistique) : corrections review ticket de pesée (ERP-208)
- Édition : listes contrepartie filtrées sur le site DU TICKET (immuable), chargées après hydrate, sans purge de la contrepartie persistée (injection de l'option si absente) → corrige la perte silencieuse / race.
- Entité : constantes COUNTERPARTY_* (Assert\Choice + validation + getCounterpartyName) ; libellé FR du type déplacé du Domain vers le template.
- PDF : cartouche conditionné sur le type (nom à l'intérieur), layout Dompdf-safe (largeurs de cellules, cartouche en bloc, nom long renvoyé à la ligne).
2026-06-25 14:55:35 +02:00

48 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Tests\Module\Logistique\Domain;
use App\Module\Commercial\Domain\Entity\Client;
use App\Module\Commercial\Domain\Entity\Supplier;
use App\Module\Logistique\Domain\Entity\WeighingTicket;
use PHPUnit\Framework\TestCase;
/**
* Couvre WeighingTicket::getCounterpartyName() (ERP-208) : nom du tiers affiché
* dans le cartouche du bon de pesée selon le type de contrepartie (RG-5.03).
*
* @internal
*/
final class WeighingTicketCounterpartyNameTest extends TestCase
{
public function testReturnsClientCompanyNameForClientCounterparty(): void
{
$client = new Client()->setCompanyName('Ferme du Pré');
$ticket = new WeighingTicket()->setCounterpartyType('CLIENT')->setClient($client);
self::assertSame('Ferme du Pré', $ticket->getCounterpartyName());
}
public function testReturnsSupplierCompanyNameForSupplierCounterparty(): void
{
$supplier = new Supplier()->setCompanyName('Coop Sud');
$ticket = new WeighingTicket()->setCounterpartyType('FOURNISSEUR')->setSupplier($supplier);
self::assertSame('Coop Sud', $ticket->getCounterpartyName());
}
public function testReturnsOtherLabelForOtherCounterparty(): void
{
$ticket = new WeighingTicket()->setCounterpartyType('AUTRE')->setOtherLabel('Particulier');
self::assertSame('Particulier', $ticket->getCounterpartyName());
}
public function testReturnsNullWhenNoCounterparty(): void
{
self::assertNull(new WeighingTicket()->getCounterpartyName());
}
}