CompletePurchaseRequestTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 15
c 1
b 0
f 1
dl 0
loc 25
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A test_sendData() 0 23 1
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