' 2C TRANS ', 'Societe' => '2C TRANS', 'Adresse' => '66 Impasse Mendi', 'CodePostal' => '65500', 'Ville' => 'VIC EN BIGORRE', 'Telephone_1' => '+33|0608890316', 'Siret' => '444 156 285 000 25', 'Validite' => '14/05/2027', 'Statut' => 'Audité', 'Departement' => '65 - Hautes-Pyrénées', ]); self::assertNotNull($row); self::assertSame('44415628500025', $row['siret']); self::assertSame('2C TRANS', $row['name']); self::assertSame('2027-05-14', $row['validity_date']); self::assertSame('+33|0608890316', $row['phone']); self::assertSame('Audité', $row['status']); self::assertSame('65 - Hautes-Pyrénées', $row['department']); } public function testMapOneReturnsNullWithoutSiret(): void { self::assertNull(QualimatRowMapper::mapOne(['Nom' => 'X', 'Siret' => null])); self::assertNull(QualimatRowMapper::mapOne(['Nom' => 'X'])); self::assertNull(QualimatRowMapper::mapOne(['Nom' => 'X', 'Siret' => ' '])); } public function testMapManyCountsSkipped(): void { $result = QualimatRowMapper::mapMany([ ['Nom' => 'A', 'Siret' => '111 111 111 00011', 'Statut' => 'Audité', 'Validite' => '01/01/2030'], ['Nom' => 'B', 'Siret' => null], ['Nom' => 'C', 'Siret' => ' '], ]); self::assertCount(1, $result['rows']); self::assertSame(2, $result['skipped']); } public function testEmptyOptionalFieldsBecomeNull(): void { $row = QualimatRowMapper::mapOne([ 'Siret' => '111 111 111 00011', 'Nom' => 'A', 'Adresse' => '', 'Ville' => ' ', ]); self::assertNotNull($row); self::assertNull($row['address']); self::assertNull($row['city']); self::assertNull($row['validity_date']); } }