CompletePurchaseRequestTest::test_sendData()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 14
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 23
rs 9.7998
1
<?php
2
3
namespace ByTIC\Payments\Stripe\Tests\Message;
4
5
use ByTIC\Payments\Stripe\Message\CompletePurchaseRequest;
6
use ByTIC\Payments\Stripe\Message\CompletePurchaseResponse;
7
use ByTIC\Payments\Stripe\Tests\AbstractTest;
8
use ByTIC\Payments\Tests\Fixtures\Records\Purchases\PurchasableRecord;
9
use ByTIC\Payments\Tests\Fixtures\Records\Purchases\PurchasableRecordManager;
10
use Mockery\Mock;
11
12
/**
13
 * Class CompletePurchaseRequestTest
14
 * @package ByTIC\Payments\Stripe\Tests\Message
15
 */
16
class CompletePurchaseRequestTest extends AbstractTest
17
{
18
    public function test_sendData()
19
    {
20
        $httpRequest = $this->generateRequestFromFixtures(
21
            TEST_FIXTURE_PATH . '/requests/completePurchase/basicParams.php'
22
        );
23
24
        $model = \Mockery::mock(PurchasableRecord::class)->makePartial();
25
        $model->shouldReceive('getPaymentGateway')->andReturn(null);
26
27
        $modelManager = \Mockery::mock(PurchasableRecordManager::class)->makePartial();
28
        $modelManager->shouldReceive('findOne')->andReturn($model);
29
30
        /** @var Mock|CompletePurchaseRequest $request */
31
        $request = \Mockery::mock(CompletePurchaseRequest::class)->shouldAllowMockingProtectedMethods()->makePartial();
32
        $request->__construct($this->client, $httpRequest);
33
        $request->shouldReceive('updateParametersFromPurchase')->once();
34
        $request->shouldReceive('parseNotification')->once();
35
        $request->shouldReceive('getResponseClass')->andReturn(CompletePurchaseResponse::class);
36
        
37
        $request->setModelManager($modelManager);
38
39
        $response = $request->send();
40
        self::assertInstanceOf(CompletePurchaseResponse::class, $response);
41
    }
42
}
43