40 lines
1.3 KiB
PHP
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);
|
|
}
|
|
}
|