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 / Module / Order / FormTest.php

FormTest.php in Packeta 2.3.2, at tests/Module/Order/FormTest.php

67 lines 2.2 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\Module\Order;
6
7 use Packetery\Core\Entity\Order;
8 use Packetery\Module\FormFactory;
9 use Packetery\Module\Framework\WpAdapter;
10 use Packetery\Module\Options\OptionsProvider;
11 use Packetery\Module\Order\Form;
12 use PHPUnit\Framework\TestCase;
13
14 class FormTest extends TestCase {
15 public function testGetInvalidFieldsMessageWithInvalidFieldsOnly(): void {
16 $wpAdapterMock = $this->createMock( WpAdapter::class );
17 $formFactoryMock = $this->createMock( FormFactory::class );
18 $optionsProviderMock = $this->createMock( OptionsProvider::class );
19
20 $wpAdapterMock->method( '__' )
21 ->willReturnCallback(
22 function ( string $text ): string {
23 return $text;
24 }
25 );
26
27 $orderMock = $this->createMock( Order::class );
28 $orderMock->method( 'hasToFillCustomsDeclaration' )->willReturn( false );
29
30 $form = new Form( $formFactoryMock, $optionsProviderMock, $wpAdapterMock );
31
32 $invalidFields = [ Form::FIELD_VALUE, Form::FIELD_WEIGHT ];
33 $expectedMessage = 'Please fill in all required shipment details (value, weight) before submitting.';
34
35 $this->assertEquals(
36 $expectedMessage,
37 $form->getInvalidFieldsMessageFromValidationResult( $invalidFields, $orderMock )
38 );
39 }
40
41 public function testGetInvalidFieldsMessageWithInvalidFieldsAndCustomsDeclaration(): void {
42 $wpAdapterMock = $this->createMock( WpAdapter::class );
43 $formFactoryMock = $this->createMock( FormFactory::class );
44 $optionsProviderMock = $this->createMock( OptionsProvider::class );
45
46 $wpAdapterMock->method( '__' )
47 ->willReturnCallback(
48 function ( string $text ): string {
49 return $text;
50 }
51 );
52
53 $orderMock = $this->createMock( Order::class );
54 $orderMock->method( 'hasToFillCustomsDeclaration' )->willReturn( true );
55
56 $form = new Form( $formFactoryMock, $optionsProviderMock, $wpAdapterMock );
57
58 $invalidFields = [ Form::FIELD_VALUE, Form::FIELD_WEIGHT ];
59 $expectedMessage = 'Please fill in all required shipment details (value, weight) before submitting. Customs declaration has to be filled in order detail.';
60
61 $this->assertEquals(
62 $expectedMessage,
63 $form->getInvalidFieldsMessageFromValidationResult( $invalidFields, $orderMock )
64 );
65 }
66 }
67