Files
Starseed/tests/Module/Catalog/Api/StorageDisplayNameTest.php
T

40 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Tests\Module\Catalog\Api;
use App\Module\Catalog\Domain\Entity\Storage;
/**
* RG-7.05 : `displayName` (getter virtuel, non persiste) = « <label du type> <numero> ».
*
* On asserte sur le CORPS JSON reel renvoye par l'API (pas sur le getter PHP), pour
* figer le contrat consomme par le front.
*
* @internal
*/
final class StorageDisplayNameTest extends AbstractStorageApiTestCase
{
public function testDisplayNameConcatenatesLabelAndNumero(): void
{
$site = $this->firstSite();
$type = $this->seedStorageType('Boisseau');
$numero = $this->uniqueCode('NUM');
$client = $this->createAdminClient();
$created = $client->request('POST', '/api/storages', [
'headers' => ['Content-Type' => self::LD],
'json' => [
'site' => $this->iri('sites', (int) $site->getId()),
'storageType' => $this->iri('storage_types', (int) $type->getId()),
'numero' => $numero,
'states' => [Storage::STATE_RECEPTION],
],
])->toArray();
self::assertResponseStatusCodeSame(201);
self::assertSame('Boisseau '.$numero, $created['displayName'] ?? null);
}
}