Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tomas-novotny committed Dec 27, 2023
1 parent 5cf12c5 commit 6191d3e
Show file tree
Hide file tree
Showing 8 changed files with 125 additions and 24 deletions.
1 change: 1 addition & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
php:
- '8.1'
- '8.2'
- '8.3'
steps:
- uses: actions/checkout@v2
with:
Expand Down
7 changes: 6 additions & 1 deletion src/Definitions/Attribute.php
Original file line number Diff line number Diff line change
Expand Up @@ -873,7 +873,7 @@ final class Attribute extends BaseEnum
public const CONTENT_PRODUCE_CODE = 'content_produce_code';

/**
* dentifikační číslo plátce přepravy
* Identifikační číslo plátce přepravy
*/
public const SHIPPER_VAT = 'shipper_vat';

Expand Down Expand Up @@ -917,6 +917,11 @@ final class Attribute extends BaseEnum
*/
public const EU_EORI = 'eu_eori';

/**
* Číslo účtu odesilatele
*/
public const SHIPPER_ACCOUNT_NUMBER = 'shipper_account_number';

/**
* @deprecated
*/
Expand Down
82 changes: 71 additions & 11 deletions src/Definitions/Service.php
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,16 @@ final class Service extends BaseEnum
*/
public const ZASILKOVNA_BG_ECONT_BOX = '19470';

/**
* BG Sameday HD
*/
public const ZASILKOVNA_BG_SAMEDAY_HD = '26066';

/**
* BG Sameday Box
*/
public const ZASILKOVNA_BG_SAMEDAY_BOX = '26067';

/**
* CZ Česká pošta HD
*/
Expand Down Expand Up @@ -1066,6 +1076,16 @@ final class Service extends BaseEnum
*/
public const ZASILKOVNA_SI_POST_BOX = '19517';

/**
* SI Express One HD
*/
public const ZASILKOVNA_SI_EXPRESS_ONE_HD = '25004';

/**
* SI Express One PP
*/
public const ZASILKOVNA_SI_EXPRESS_ONE_PP = '25005';

/**
* Expresné doručenie Bratislava
*/
Expand Down Expand Up @@ -1207,7 +1227,7 @@ final class Service extends BaseEnum
public const PBH_PP = '13';

/**
* polský Inpost Kurier
* Polský Inpost Kurier
*/
public const PBH_INPOST_KURIER = '14';

Expand Down Expand Up @@ -1281,6 +1301,21 @@ final class Service extends BaseEnum
*/
public const PBH_UPS = '28';

/**
* Warenpost
*/
public const PBH_WARENPOST = '29';

/**
* Chorvatská pošta
*/
public const PBH_HR_POST = '30';

/**
* BOX NOW
*/
public const PBH_BOX_NOW = '31';

/**
* Worlwide zásilky
*/
Expand Down Expand Up @@ -1976,6 +2011,21 @@ final class Service extends BaseEnum
*/
public const LIFTAGO_STANDARD_22 = 'standard-20-22';

/**
* Liftago SLot 10-12h
*/
public const LIFTAGO_SLOT_12 = 'SLOT10-12';

/**
* Liftago SLot 12-15h
*/
public const LIFTAGO_SLOT_15 = 'SLOT12-15';

/**
* Liftago SLot 18-21h
*/
public const LIFTAGO_SLOT_21 = 'SLOT18-21';

/**
* MPL Business parcel (Domestic)
*/
Expand Down Expand Up @@ -2237,6 +2287,9 @@ private static function pbh(): array
self::PBH_ROYAL_MAIL_48,
self::PBH_EXPRESS_ONE,
self::PBH_UPS,
self::PBH_WARENPOST,
self::PBH_HR_POST,
self::PBH_BOX_NOW,
];
}

Expand Down Expand Up @@ -2350,6 +2403,8 @@ private static function zasilkovna(): array
self::ZASILKOVNA_BG_SPEEDY_PP,
self::ZASILKOVNA_BG_SPEEDY_HD,
self::ZASILKOVNA_BG_ECONT_BOX,
self::ZASILKOVNA_BG_SAMEDAY_HD,
self::ZASILKOVNA_BG_SAMEDAY_BOX,
// self::ZASILKOVNA_CZ_POST_HD,
self::ZASILKOVNA_CZ_EXPRESS_PRAHA_HD,
// self::ZASILKOVNA_CZ_EXPRESS_BRNO_HD,
Expand Down Expand Up @@ -2406,8 +2461,8 @@ private static function zasilkovna(): array
self::ZASILKOVNA_IE_ANPOST_HD,
self::ZASILKOVNA_IE_FEDEX_HD_CONNECT_PLUS,
self::ZASILKOVNA_IE_FEDEX_HD_PRIORITY,
self::ZASILKOVNA_IL_FEDEX_PRIORITY_HD,
self::ZASILKOVNA_IL_FEDEX_ECONOMY_HD,
// self::ZASILKOVNA_IL_FEDEX_PRIORITY_HD,
// self::ZASILKOVNA_IL_FEDEX_ECONOMY_HD,
self::ZASILKOVNA_IT_BARTOLINI_HD,
self::ZASILKOVNA_IT_BARTOLINI_PP,
// self::ZASILKOVNA_IT_GLS_HD,
Expand Down Expand Up @@ -2449,6 +2504,8 @@ private static function zasilkovna(): array
self::ZASILKOVNA_SI_POST_HD,
self::ZASILKOVNA_SI_POST_PP,
self::ZASILKOVNA_SI_POST_BOX,
self::ZASILKOVNA_SI_EXPRESS_ONE_HD,
self::ZASILKOVNA_SI_EXPRESS_ONE_PP,
self::ZASILKOVNA_SK_EXPRESS_BRATISLAVA_HD,
self::ZASILKOVNA_SK_COURIER_HD,
// self::ZASILKOVNA_SK_POST_HD,
Expand Down Expand Up @@ -2703,14 +2760,17 @@ private static function liftago(): array
return [
self::LIFTAGO_EXPRESS,
self::LIFTAGO_STANDARD,
self::LIFTAGO_STANDARD_8,
self::LIFTAGO_STANDARD_10,
self::LIFTAGO_STANDARD_12,
self::LIFTAGO_STANDARD_14,
self::LIFTAGO_STANDARD_16,
self::LIFTAGO_STANDARD_18,
self::LIFTAGO_STANDARD_20,
self::LIFTAGO_STANDARD_22,
// self::LIFTAGO_STANDARD_8,
// self::LIFTAGO_STANDARD_10,
// self::LIFTAGO_STANDARD_12,
// self::LIFTAGO_STANDARD_14,
// self::LIFTAGO_STANDARD_16,
// self::LIFTAGO_STANDARD_18,
// self::LIFTAGO_STANDARD_20,
// self::LIFTAGO_STANDARD_22,
self::LIFTAGO_SLOT_12,
self::LIFTAGO_SLOT_15,
self::LIFTAGO_SLOT_21,
];
}

Expand Down
5 changes: 5 additions & 0 deletions src/Model/PackageData/Package/DeliveryData.php
Original file line number Diff line number Diff line change
Expand Up @@ -243,4 +243,9 @@ public function setShipperVat(string $code): void
{
$this->offsetSet(Attribute::SHIPPER_VAT, $code);
}

public function setShipperAccountNumber(string $number): void
{
$this->offsetSet(Attribute::SHIPPER_ACCOUNT_NUMBER, $number);
}
}
19 changes: 14 additions & 5 deletions tests/Integration/ChangesSupportTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Inspirum\Balikobot\Definitions\Carrier;
use Inspirum\Balikobot\Definitions\Method;
use Inspirum\Balikobot\Definitions\Version;
use Inspirum\Balikobot\Exception\Exception;
use Inspirum\Balikobot\Model\Attribute\Attribute as AttributeModel;
use Inspirum\Balikobot\Model\Method\Method as MethodModel;
use function array_diff;
Expand All @@ -26,7 +27,7 @@ public function testLatestChangesSupport(): void

$changelog = $infoService->getChangelog();

$expected = (float) '1.987';
$expected = (float) '1.990';
$actual = (float) $changelog->getLatestVersion();

if ($actual > $expected) {
Expand All @@ -42,10 +43,18 @@ public function testAllAddAttributesSupport(): void
$attributes = [];

foreach (Carrier::getAll() as $carrier) {
$attributes[] = array_map(
static fn(AttributeModel $attribute): string => $attribute->getName(),
$settingService->getAddAttributes($carrier)->getAttributes(),
);
try {
$attributes[] = array_map(
static fn(AttributeModel $attribute): string => $attribute->getName(),
$settingService->getAddAttributes($carrier)->getAttributes(),
);
} catch (Exception $exception) {
if ($exception->getStatusCode() === 503) {
continue;
}

throw $exception;
}
}

$attributes = array_unique(array_merge(...$attributes));
Expand Down
21 changes: 15 additions & 6 deletions tests/Integration/Model/Branch/DefaultBranchResolverTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Inspirum\Balikobot\Definitions\Country;
use Inspirum\Balikobot\Definitions\Service;
use Inspirum\Balikobot\Exception\BadRequestException;
use Inspirum\Balikobot\Exception\Exception;
use Inspirum\Balikobot\Model\Branch\BranchResolver;
use Inspirum\Balikobot\Model\Branch\DefaultBranchResolver;
use PHPUnit\Framework\Attributes\DataProvider;
Expand Down Expand Up @@ -42,7 +43,11 @@ public function testHasFullBranchesSupport(string $carrier, string $service): vo
} else {
$this->assertNoException();
}
} catch (BadRequestException $exception) {
} catch (Exception $exception) {
if ($exception->getStatusCode() === 503) {
self::markTestIncomplete(sprintf('%s/%s is unavailable', strtoupper($carrier), $service));
}

self::assertFalse(
$branchResolver->hasFullBranchesSupport($carrier, $service),
sprintf(
Expand Down Expand Up @@ -90,7 +95,11 @@ public function testHasBranchCountryFilterSupport(string $carrier, string $servi
} else {
self::assertTrue($shouldSupport, sprintf('%s/%s should not support branch country filter', strtoupper($carrier), $service));
}
} catch (BadRequestException $exception) {
} catch (Exception $exception) {
if ($exception->getStatusCode() === 503) {
self::markTestIncomplete(sprintf('%s/%s is unavailable', strtoupper($carrier), $service));
}

self::assertFalse(
$branchResolver->hasBranchCountryFilterSupport($carrier, $service),
sprintf(
Expand Down Expand Up @@ -136,14 +145,14 @@ public function testBranchesFilterByCountryCodes(): void

break;
}
} catch (BadRequestException $exception) {
if ($exception->getStatusCode() === 501) {
continue;
} catch (Exception $exception) {
if ($exception->getStatusCode() === 501 || $exception->getStatusCode() === 503) {
self::markTestIncomplete(sprintf('%s is unavailable', strtoupper($carrier)));
}

$errorMessage = $exception->getResponse()['status_message'] ?? '';
if (str_contains($errorMessage, 'Neznámý kód služby') === false) {
$this->fail(sprintf('%s: %s', $carrier, $exception->getMessage()));
$this->fail(sprintf('%s: %s', strtoupper($carrier), $exception->getMessage()));
}
}
}
Expand Down
12 changes: 11 additions & 1 deletion tests/Integration/Provider/LiveServiceProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace Inspirum\Balikobot\Tests\Integration;

use Inspirum\Balikobot\Definitions\Service;
use Inspirum\Balikobot\Exception\Exception;
use Inspirum\Balikobot\Provider\LiveCarrierProvider;
use Inspirum\Balikobot\Provider\LiveServiceProvider;
use function sprintf;
Expand All @@ -18,7 +19,16 @@ public function testGetServices(): void

foreach ($carrierProvider->getCarriers() as $carrier) {
$expectedServices = Service::getForCarrier($carrier);
$services = $serviceProvider->getServices($carrier);

try {
$services = $serviceProvider->getServices($carrier);
} catch (Exception $exception) {
if ($exception->getStatusCode() === 503) {
continue;
}

throw $exception;
}

self::assertEqualsCanonicalizing(
$expectedServices,
Expand Down
2 changes: 2 additions & 0 deletions tests/Unit/Model/PackageData/DefaultPackageDataTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ public function testPackageSetters(): void
$package->setTransformTempFrom(5);
$package->setTransformTempTO(60);
$package->setShipperVat('21');
$package->setShipperAccountNumber('765432/0300');
$package->setNoteInvoice('note1');
$package->setInvoiceType('PRO_FORMA_INVOICE');
$package->setReturnBarcode(true);
Expand Down Expand Up @@ -377,6 +378,7 @@ public function testPackageSetters(): void
Attribute::TRANSFORM_TEMP_FROM => 5.0,
Attribute::TRANSFORM_TEMP_TO => 60.0,
Attribute::SHIPPER_VAT => '21',
Attribute::SHIPPER_ACCOUNT_NUMBER => '765432/0300',
Attribute::NOTE_INVOICE => 'note1',
Attribute::INVOICE_TYPE => 'PRO_FORMA_INVOICE',
Attribute::RETURN_BARCODE => 1,
Expand Down

0 comments on commit 6191d3e

Please sign in to comment.