409) est DEJA couvert par * ClientApiTest::testPostDuplicateCompanyNameReturns409 (ERP-55). Ce fichier * verifie l'envers de la decision Q4 (29/05/2026) : le SIREN (RG-1.15 supprimee) * n'est PLUS contraint unique. (L'email — RG-1.17 — a disparu du Client avec la * refonte contact, il vit desormais sur ClientContact.) * * @internal */ final class ClientUniquenessTest extends AbstractCommercialApiTestCase { /** * RG-1.15 (Q4) : deux clients peuvent partager le meme SIREN (etablissements * multiples). Le SIREN n'est pas ecrivable au POST (groupe accounting), on * seede donc directement via l'ORM et on prouve que le flush ne leve aucune * violation d'unicite. */ public function testDuplicateSirenIsAllowed(): void { // Boot kernel pour disposer de l'EM (pas d'appel HTTP necessaire ici). self::bootKernel(); $em = $this->getEm(); $one = $this->seedClient('Siren Share One'); $two = $this->seedClient('Siren Share Two'); $one->setSiren('123456789'); $two->setSiren('123456789'); $em->flush(); // Aucune exception : preuve qu'il n'existe pas d'index unique sur siren. self::assertSame('123456789', $em->getRepository(ClientEntity::class)->find($one->getId())->getSiren()); self::assertSame('123456789', $em->getRepository(ClientEntity::class)->find($two->getId())->getSiren()); } }