PluginProbe
Packeta / 2.3.2
Packeta v2.3.2
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / tests / Core / Validator / OrderTest.php

OrderTest.php in Packeta 2.3.2, at tests/Core/Validator/OrderTest.php

63 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare( strict_types=1 );
4
5 namespace Tests\Core\Validator;
6
7 use Packetery\Core\Interfaces\ValidatorTranslationsInterface;
8 use Packetery\Core\Validator\Address;
9 use Packetery\Core\Validator\Order;
10 use Packetery\Core\Validator\Size;
11 use PHPUnit\Framework\TestCase;
12 use Tests\Core\DummyFactory;
13
14 class OrderTest extends TestCase {
15 public function testValidation(): void {
16 $addressValidator = new Address();
17 $sizeValidator = new Size();
18 $validatorTranslationsMock = $this->createMock( ValidatorTranslationsInterface::class );
19 $validatorTranslationsMock->method( 'get' )->willReturn(
20 [
21 Order::ERROR_TRANSLATION_KEY_NUMBER => 'Order number is not set.',
22 Order::ERROR_TRANSLATION_KEY_NAME => 'Customer name is not set.',
23 Order::ERROR_TRANSLATION_KEY_VALUE => 'Order value is not set.',
24 Order::ERROR_TRANSLATION_KEY_PICKUP_POINT_OR_CARRIER_ID => 'Pickup point or carrier id is not set.',
25 Order::ERROR_TRANSLATION_KEY_ESHOP => 'Sender label is not set.',
26 Order::ERROR_TRANSLATION_KEY_WEIGHT => 'Weight is not set or is zero.',
27 Order::ERROR_TRANSLATION_KEY_ADDRESS => 'Address is not set or is incomplete.',
28 Order::ERROR_TRANSLATION_KEY_HEIGHT => 'Order height is not set.',
29 Order::ERROR_TRANSLATION_KEY_WIDTH => 'Order width is not set.',
30 Order::ERROR_TRANSLATION_KEY_LENGTH => 'Order length is set.',
31 Order::ERROR_TRANSLATION_KEY_CUSTOMS_DECLARATION => 'Customs declaration is not set.',
32 ]
33 );
34
35 $validator = new Order( $addressValidator, $sizeValidator, $validatorTranslationsMock );
36
37 $dummyOrder = DummyFactory::createOrderCzPp();
38 $dummyOrder->setPickupPoint( DummyFactory::createPickupPoint() );
39 self::assertSame( [], $validator->validate( $dummyOrder ) );
40 self::assertTrue( $validator->isValid( $dummyOrder ) );
41
42 $dummyOrder->setNumber( '' );
43 $dummyOrder->setName( '' );
44 $validationResult = $validator->validate( $dummyOrder );
45 self::assertArrayHasKey( Order::ERROR_TRANSLATION_KEY_NUMBER, $validationResult );
46 self::assertArrayHasKey( Order::ERROR_TRANSLATION_KEY_NAME, $validationResult );
47 self::assertCount( 2, $validationResult );
48 self::assertFalse( $validator->isValid( $dummyOrder ) );
49
50 $dummyOrderHd = DummyFactory::createOrderCzHdIncomplete();
51 $dummyOrderHdInvalid = clone $dummyOrderHd;
52 $dummyOrderHd->setSize( DummyFactory::createSize() );
53 $dummyOrderHd->setDeliveryAddress( DummyFactory::createAddress() );
54 self::assertSame( [], $validator->validate( $dummyOrderHd ) );
55
56 self::assertCount( 4, $validator->validate( $dummyOrderHdInvalid ) );
57
58 $validatorTranslationsMock->method( 'get' )->willReturn( [ Order::ERROR_TRANSLATION_KEY_NAME => '' ] );
59 $validator = new Order( $addressValidator, $sizeValidator, $validatorTranslationsMock );
60 self::assertFalse( $validator->isValid( $dummyOrder ) );
61 }
62 }
63