newInstanceWithoutConstructor(); $property = $reflection->getProperty('customer_data_object'); $property->setValue($customer, $payload); return $customer; } it('exposes optional EAN and public entry number from fetched e-conomic customer data', function (): void { $customer = economic_customer_helper_from_payload((object)[ 'customerNumber' => 42331123, 'ean' => ' 5790001234567 ', 'publicEntryNumber' => ' DK123456789 ', 'attention' => (object)[ 'customerContactNumber' => 9, ], 'customerContact' => (object)[ 'customerContactNumber' => 10, ], 'salesPerson' => (object)[ 'employeeNumber' => 12, ], 'vendorReference' => (object)[ 'employeeNumber' => 14, ], 'defaultDeliveryLocation' => (object)[ 'deliveryLocationNumber' => 7, ], ]); expect($customer->getEan())->toBe('5790001234567'); expect($customer->getPublicEntryNumber())->toBe('DK123456789'); expect($customer->getAttentionCustomerContactNumber())->toBe(9); expect($customer->getReferenceCustomerContactNumber())->toBe(10); expect($customer->getSalesPersonEmployeeNumber())->toBe(12); expect($customer->getVendorReferenceEmployeeNumber())->toBe(14); expect($customer->getDefaultDeliveryLocationNumber())->toBe(7); }); it('returns null for blank optional e-conomic customer recipient identifiers', function (): void { $customer = economic_customer_helper_from_payload((object)[ 'customerNumber' => 42331123, 'ean' => ' ', 'publicEntryNumber' => '', ]); expect($customer->getEan())->toBeNull(); expect($customer->getPublicEntryNumber())->toBeNull(); expect($customer->getAttentionCustomerContactNumber())->toBeNull(); expect($customer->getReferenceCustomerContactNumber())->toBeNull(); expect($customer->getSalesPersonEmployeeNumber())->toBeNull(); expect($customer->getVendorReferenceEmployeeNumber())->toBeNull(); expect($customer->getDefaultDeliveryLocationNumber())->toBeNull(); });