. */ namespace App\Tests\Services\InfoProviderSystem\DTOs; use App\Services\InfoProviderSystem\DTOs\BulkSearchFieldMappingDTO; use PHPUnit\Framework\TestCase; class BulkSearchFieldMappingDTOTest extends TestCase { public function testIsSupplierPartNumberField(): void { $fieldMapping = new BulkSearchFieldMappingDTO(field: 'reichelt_spn', providers: ['provider1'], priority: 1); $this->assertTrue($fieldMapping->isSupplierPartNumberField()); $fieldMapping = new BulkSearchFieldMappingDTO(field: 'partNumber', providers: ['provider1'], priority: 1); $this->assertFalse($fieldMapping->isSupplierPartNumberField()); } public function testToSerializableArray(): void { $fieldMapping = new BulkSearchFieldMappingDTO(field: 'test', providers: ['provider1', 'provider2'], priority: 3); $array = $fieldMapping->toSerializableArray(); $this->assertIsArray($array); $this->assertSame([ 'field' => 'test', 'providers' => ['provider1', 'provider2'], 'priority' => 3, ], $array); } public function testFromSerializableArray(): void { $data = [ 'field' => 'test', 'providers' => ['provider1', 'provider2'], 'priority' => 3, ]; $fieldMapping = BulkSearchFieldMappingDTO::fromSerializableArray($data); $this->assertInstanceOf(BulkSearchFieldMappingDTO::class, $fieldMapping); $this->assertSame('test', $fieldMapping->field); $this->assertSame(['provider1', 'provider2'], $fieldMapping->providers); $this->assertSame(3, $fieldMapping->priority); } }