Passed
Push — master ( cc4a0b...c8d669 )
by João Felipe Magro
02:41
created

testCapturePartialPaymentSuccessfully()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 16
rs 9.8666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Tests;
4
5
use Ipag\Classes\Authentication;
6
use Ipag\Classes\Endpoint;
7
use Ipag\Ipag;
8
use PHPUnit\Framework\TestCase;
9
10
class CaptureTest extends TestCase
11
{
12
    private $ipag;
13
14
    public function setUp()
15
    {
16
        $this->ipag = new Ipag(new Authentication(getenv('ID_IPAG'), getenv('API_KEY')), Endpoint::SANDBOX);
17
    }
18
19
    public function doCapture($tid)
20
    {
21
        return $this->ipag->transaction()->setTid($tid)->capture();
22
    }
23
24
    public function testCapturePaymentSuccessfully()
25
    {
26
        $paymentTest = new PaymentTest();
27
        $transaction = $paymentTest->doPayment();
28
29
        $this->assertEquals(getenv('APPROVED'), $transaction->payment->status);
30
31
        $capturedTransaction = $this->doCapture($transaction->tid);
32
33
        $this->assertEquals(getenv('APPROVED_CAPTURED'), $capturedTransaction->payment->status);
34
        $this->assertEquals($transaction->tid, $capturedTransaction->tid);
35
    }
36
37
    public function testCapturePartialPaymentSuccessfully()
38
    {
39
        $paymentTest = new PaymentTest();
40
        $transaction = $paymentTest->doPayment();
41
42
        $canceledTransaction = $this->ipag
43
            ->transaction()
44
            ->setTid($transaction->tid)
45
            ->setAmount('5.00')
46
            ->capture();
47
48
        $this->assertEquals(getenv('APPROVED_CAPTURED'), $canceledTransaction->payment->status);
49
        $this->assertEquals($transaction->tid, $canceledTransaction->tid);
50
        $this->assertEquals('captured', $canceledTransaction->history[2]->operationType);
51
        $this->assertEquals('succeeded', $canceledTransaction->history[2]->status);
52
        $this->assertEquals('5.00', $canceledTransaction->history[2]->amount);
53
    }
54
}
55