PaymentCapturedMessageCest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 68
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 18
dl 0
loc 68
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testPaymentCapturedMessageIsSuccessfullyHandled() 0 14 1
A _before() 0 4 1
A testPaymentCapturedMessageIsSuccessfullyHandledWhenItemWasAuthorized() 0 14 1
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace PyzTest\Zed\MessageBroker\MessageHandlers\Payment\Presentation;
11
12
use Generated\Shared\Transfer\PaymentCapturedTransfer;
13
use PyzTest\Zed\MessageBroker\PaymentPresentationTester;
14
15
/**
16
 * Auto-generated group annotations
17
 *
18
 * @group PyzTest
19
 * @group Zed
20
 * @group MessageBroker
21
 * @group MessageHandlers
22
 * @group Payment
23
 * @group Presentation
24
 * @group PaymentCapturedMessageCest
25
 * Add your own group annotations below this line
26
 */
27
class PaymentCapturedMessageCest
28
{
29
    /**
30
     * @var string
31
     */
32
    protected const INITIAL_ITEM_STATE = 'payment capture pending';
33
34
    /**
35
     * @var string
36
     */
37
    protected const INITIAL_ITEM_STATE_AFTER_AUTHORIZATION = 'payment capture pending';
38
39
    /**
40
     * @var string
41
     */
42
    public const FINAL_ITEM_STATE = 'payment captured';
43
44
    /**
45
     * @param \PyzTest\Zed\MessageBroker\PaymentPresentationTester $i
46
     *
47
     * @return void
48
     */
49
    public function _before(PaymentPresentationTester $i): void
50
    {
51
        $i->amZed();
52
        $i->amLoggedInUser();
53
    }
54
55
    /**
56
     * @param \PyzTest\Zed\MessageBroker\PaymentPresentationTester $I
57
     *
58
     * @return void
59
     */
60
    public function testPaymentCapturedMessageIsSuccessfullyHandled(PaymentPresentationTester $I): void
61
    {
62
        // Arrange
63
        $salesOrderEntity = $I->haveSalesOrder(static::INITIAL_ITEM_STATE);
64
        $paymentCapturedTransfer = $I->havePaymentMessageTransfer(
65
            PaymentCapturedTransfer::class,
66
            $salesOrderEntity,
67
        );
68
69
        // Act
70
        $I->handlePaymentMessageTransfer($paymentCapturedTransfer);
71
72
        // Assert
73
        $I->assertOrderHasCorrectState($salesOrderEntity, static::FINAL_ITEM_STATE);
74
    }
75
76
    /**
77
     * @param \PyzTest\Zed\MessageBroker\PaymentPresentationTester $I
78
     *
79
     * @return void
80
     */
81
    public function testPaymentCapturedMessageIsSuccessfullyHandledWhenItemWasAuthorized(PaymentPresentationTester $I): void
82
    {
83
        // Arrange
84
        $salesOrderEntity = $I->haveSalesOrder(static::INITIAL_ITEM_STATE_AFTER_AUTHORIZATION);
85
        $paymentCapturedTransfer = $I->havePaymentMessageTransfer(
86
            PaymentCapturedTransfer::class,
87
            $salesOrderEntity,
88
        );
89
90
        // Act
91
        $I->handlePaymentMessageTransfer($paymentCapturedTransfer);
92
93
        // Assert
94
        $I->assertOrderHasCorrectState($salesOrderEntity, static::FINAL_ITEM_STATE);
95
    }
96
}
97