14
14
use CM \Payments \Service \Order \Request \Part \Amount ;
15
15
use CM \Payments \Service \Order \Request \Part \Country ;
16
16
use CM \Payments \Service \Order \Request \Part \Currency ;
17
+ use CM \Payments \Service \Order \Request \Part \Email ;
17
18
use CM \Payments \Service \Order \Request \Part \Expiry ;
18
19
use CM \Payments \Service \Order \Request \Part \Language ;
19
20
use CM \Payments \Service \Order \Request \Part \OrderId ;
20
21
use CM \Payments \Service \Order \Request \Part \PaymentProfile ;
21
22
use CM \Payments \Service \Order \Request \Part \ReturnUrls ;
22
- use CM \Payments \Service \Order \Request \Part \Email ;
23
- use CM \Payments \Service \Quote \Request \Part \OrderId as QuoteOrderId ;
24
23
use CM \Payments \Service \OrderRequestBuilder ;
24
+ use CM \Payments \Service \Quote \Request \Part \OrderId as QuoteOrderId ;
25
25
use CM \Payments \Test \Unit \UnitTestCase ;
26
26
use Magento \Framework \Locale \ResolverInterface ;
27
27
use Magento \Framework \Math \Random ;
@@ -57,7 +57,7 @@ public function testCreateOrderRequestBuilder()
57
57
{
58
58
$ this ->resolverMock ->method ('emulate ' )->willReturn ('nl_NL ' );
59
59
$ this ->urlMock ->method ('getUrl ' )->willReturn ('testurl ' );
60
- $ orderMock = $ this ->getOrderMock ();
60
+ $ orderMock = $ this ->getOrderMock (' cm_payments_creditcard ' );
61
61
$ orderRequest = $ this ->orderRequestBuilder ->create ($ orderMock );
62
62
63
63
$ this ->assertSame ('000000001 ' , $ orderRequest ->getPayload ()['order_reference ' ]);
@@ -66,10 +66,32 @@ public function testCreateOrderRequestBuilder()
66
66
$ this ->assertSame ('nl ' , $ orderRequest ->getPayload ()['language ' ]);
67
67
}
68
68
69
+ public function testCreateOrderRequestBuilderWithExpiryDate ()
70
+ {
71
+ $ this ->resolverMock ->method ('emulate ' )->willReturn ('nl_NL ' );
72
+ $ this ->urlMock ->method ('getUrl ' )->willReturn ('testurl ' );
73
+
74
+ $ this ->configMock ->method ('getOrderExpiryUnit ' )->willReturn ('DAYS ' );
75
+ $ this ->configMock ->method ('getOrderExpiryDuration ' )->willReturn ('1 ' );
76
+
77
+ $ orderMock = $ this ->getOrderMock ('cm_payments_paypal ' );
78
+ $ orderRequest = $ this ->orderRequestBuilder ->create ($ orderMock );
79
+
80
+ $ expectedResult = [
81
+ 'expire_after ' => [
82
+ 'unit ' => 'DAYS ' ,
83
+ 'duration ' => '1 '
84
+ ]
85
+ ];
86
+
87
+ $ this ->assertSame ($ expectedResult , $ orderRequest ->getPayload ()['expiry ' ]);
88
+ }
89
+
69
90
/**
91
+ * @param string $paymentMethod
70
92
* @return OrderInterface
71
93
*/
72
- private function getOrderMock (): OrderInterface
94
+ private function getOrderMock (string $ paymentMethod ): OrderInterface
73
95
{
74
96
$ shippingAddressMock = $ this ->createConfiguredMock (
75
97
OrderAddressInterface::class,
@@ -82,7 +104,7 @@ private function getOrderMock(): OrderInterface
82
104
$ orderMock = $ this ->createMock (Order::class);
83
105
84
106
$ paymentMock = $ this ->createMock (OrderPaymentInterface::class);
85
- $ paymentMock ->method ('getMethod ' )->willReturn (' cm_payments_creditcard ' );
107
+ $ paymentMock ->method ('getMethod ' )->willReturn ($ paymentMethod );
86
108
87
109
$ orderMock ->method ('getEntityId ' )->willReturn ('1 ' );
88
110
$ orderMock ->method ('getIncrementId ' )->willReturn ('000000001 ' );
@@ -118,7 +140,7 @@ protected function setUp(): void
118
140
$ mathRandomMock = $ this ->getMockBuilder (Random::class)
119
141
->disableOriginalConstructor ()
120
142
->getMock ();
121
-
143
+
122
144
$ orderRequestParts = [
123
145
new OrderId (),
124
146
new Amount (),
0 commit comments