Passed
Push — bugfix/supesc-135-easycredit-m... ( ed8289...21216f )
by
unknown
03:08
created

testSendPreContractualInformationAndRedemptionPlanRequest()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 10
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEcoTest\Zed\Easycredit;
9
10
/**
11
 * @group SprykerEcoTest
12
 * @group Zed
13
 * @group Easycredit
14
 * @group EasycreditTest
15
 * @group EasycreditSendRequestTest
16
 */
17
class EasycreditSendRequestTest extends AbstractEasycreditTest
18
{
19
    /**
20
     * @group test
21
     *
22
     * @return void
23
     */
24
    public function testSendInitializePaymentRequest(): void
25
    {
26
        // Arrange
27
        $quoteTransfer = $this->prepareQuoteTransfer();
28
        $quoteTransfer->setPayment($this->preparePaymentTransfer());
29
        $facade = $this->prepareFacade();
30
31
        // Act
32
        $responseTransfer = $facade->sendInitializePaymentRequest($quoteTransfer);
33
34
        // Assert
35
        $this->assertEquals(static::RESPONSE_KEY_PAYMENT_IDENTIFIER, $responseTransfer->getPaymentIdentifier());
36
        $this->assertTrue($responseTransfer->getSuccess());
37
    }
38
39
    /**
40
     * @return void
41
     */
42
    public function testInitializePaymentRequestOnConvertingAmountFromIntegerToFloatValue(): void
43
    {
44
        // Arrange
45
        $quoteTransfer = $this->prepareQuoteTransfer();
46
        $quoteTransfer->setPayment($this->preparePaymentTransfer());
47
        $quoteTransfer->setItems($this->prepareItemTransfers());
48
        $quoteTransfer->setTotals($this->prepareTotalsTransfer(1500));
49
        $quoteTransfer->setCustomer($this->prepareCustomerTransfer());
50
        $quoteTransfer->setShippingAddress($this->prepareAddressTransfer());
51
        $quoteTransfer->setBillingAddress($this->prepareAddressTransfer());
52
        $quoteTransfer->setShipment($this->prepareShipmentTransfer());
53
54
        // Act
55
        $requestTransfer = $this->createMapper()->mapInitializePaymentRequest($quoteTransfer);
56
57
        // Assert
58
        $this->assertEquals($requestTransfer->getPayload()[static::REQUEST_KEY_ORDER_AMOUNT], 15.0);
59
    }
60
61
    /**
62
     * @return void
63
     */
64
    public function testSendQueryCreditAssessmentRequest(): void
65
    {
66
        $quoteTransfer = $this->prepareQuoteTransfer();
67
        $quoteTransfer->setPayment($this->preparePaymentTransfer());
68
69
        $facade = $this->prepareFacade();
70
        $responseTransfer = $facade->sendQueryCreditAssessmentRequest($quoteTransfer);
71
72
        $this->assertEquals(static::RESPONSE_KEY_STATUS, $responseTransfer->getStatus());
73
        $this->assertTrue($responseTransfer->getSuccess());
74
    }
75
76
    /**
77
     * @return void
78
     */
79
    public function testSendOrderConfirmationRequest(): void
80
    {
81
        $idSalesOrder = $this->tester->createOrder();
82
83
        $facade = $this->prepareFacade();
84
        $responseTransfer = $facade->sendOrderConfirmationRequest($idSalesOrder);
85
86
        $this->assertTrue($responseTransfer->getSuccess());
87
        $this->assertFalse($responseTransfer->getConfirmed());
88
    }
89
90
    /**
91
     * @return void
92
     */
93
    public function testSendApprovalTextRequest(): void
94
    {
95
        $facade = $this->prepareFacade();
96
        $responseTransfer = $facade->sendApprovalTextRequest();
97
98
        $this->assertTrue($responseTransfer->getSuccess());
99
        $this->assertEquals(static::RESPONSE_KEY_TEXT, $responseTransfer->getText());
100
    }
101
102
    /**
103
     * @return void
104
     */
105
    public function testSendInterestAndTotalSumRequest(): void
106
    {
107
        $quoteTransfer = $this->prepareQuoteTransfer();
108
        $quoteTransfer->setPayment($this->preparePaymentTransfer());
109
110
        $facade = $this->prepareFacade();
111
        $responseTransfer = $facade->sendInterestAndTotalSumRequest($quoteTransfer);
112
113
        $this->assertTrue($responseTransfer->getSuccess());
114
        $this->assertEquals(static::RESPONSE_KEY_ANFALLENDE_ZINSEN, $responseTransfer->getAnfallendeZinsen());
115
    }
116
117
    /**
118
     * @return void
119
     */
120
    public function testSendPreContractualInformationAndRedemptionPlanRequest(): void
121
    {
122
        $quoteTransfer = $this->prepareQuoteTransfer();
123
        $quoteTransfer->setPayment($this->preparePaymentTransfer());
124
125
        $facade = $this->prepareFacade();
126
        $responseTransfer = $facade->sendPreContractualInformationAndRedemptionPlanRequest($quoteTransfer);
127
128
        $this->assertTrue($responseTransfer->getSuccess());
129
        $this->assertEquals(static::RESPONSE_KEY_URL_VORVERTRAGLICHE_INFORMATIONEN, $responseTransfer->getUrlVorvertraglicheInformationen());
130
    }
131
}
132