test(commercial) : fix CI anti-N+1 (profiling test) + durcissement 422/gating M2 fournisseurs (ERP-92)
- config/packages/test/doctrine.yaml : force dbal profiling en test pour que doctrine.debug_data_holder existe sous APP_DEBUG=0 (CI). Le test anti-N+1 SupplierListTest passait en local (debug=1) mais cassait en CI. - RBACMatrix/SupplierApi : les 422 RG-2.03 et RG-2.14 assertent desormais le propertyPath / message (plus seulement le code) — un 422 orthogonal ne peut plus faire passer le test. - RBACMatrix : gating bureau/commerciale verifie l'ensemble des champs comptables (accountNumber/nTva/tvaMode/paymentType), plus seulement siren/ribs. - violationsByPath() mutualise dans AbstractSupplierApiTestCase (dedup).
This commit is contained in:
@@ -147,12 +147,15 @@ final class SupplierApiTest extends AbstractSupplierApiTestCase
|
||||
$seed = $this->seedSupplier('Archive Plus Field');
|
||||
|
||||
// RG-2.14 : une requete d'archivage ne modifie aucun autre champ.
|
||||
$client->request('PATCH', '/api/suppliers/'.$seed->getId(), [
|
||||
$response = $client->request('PATCH', '/api/suppliers/'.$seed->getId(), [
|
||||
'headers' => ['Content-Type' => self::MERGE],
|
||||
'json' => ['isArchived' => true, 'companyName' => 'Renamed While Archiving'],
|
||||
]);
|
||||
|
||||
self::assertResponseStatusCodeSame(422);
|
||||
// Le 422 doit etre celui de RG-2.14 (archivage exclusif) et non un 422
|
||||
// orthogonal : on verifie le message porte par l'exception.
|
||||
self::assertStringContainsString('archivage', $response->getContent(false));
|
||||
}
|
||||
|
||||
public function testRestoreSetsArchivedAtNull(): void
|
||||
|
||||
Reference in New Issue
Block a user