Files
api/services/nginx/app/tests/Unit/Users/EconomicCustomerModelParsingTest.php
T

48 lines
1.4 KiB
PHP

<?php
app_require('modules/economic/customers/economic_customer_mo.php');
use customers\economic_customer_mo;
if (!class_exists('EconomicCustomerModelParsingProbe')) {
class EconomicCustomerModelParsingProbe extends economic_customer_mo
{
protected function cacheCustomerForImportedUser(): void
{
}
}
}
it('parses cached economic customer payloads that use snake_case customer_number', function (): void {
$model = (new EconomicCustomerModelParsingProbe())->parseCustomer((object)[
'customer_number' => '42331123',
'name' => 'Truckwash ApS',
'email' => 'jb@truckwash.dk',
'currency' => 'DKK',
'country' => 'DK',
'barred' => true,
]);
expect($model->asArray())->toBe([
'customerNumber' => 42331123,
'name' => 'Truckwash ApS',
'address' => null,
'city' => null,
'zip' => null,
'corporateIdentificationNumber' => null,
'email' => 'jb@truckwash.dk',
'mobilePhone' => null,
'currency' => 'DKK',
'country' => 'DK',
'barred' => true,
]);
});
it('leaves the economic customer model empty when no valid customer number is present', function (): void {
$model = (new EconomicCustomerModelParsingProbe())->parseCustomer((object)[
'name' => 'Missing Number',
]);
expect($model->asArray())->toBe([]);
});