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

ConsultTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 38
dl 0
loc 60
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A doConsult() 0 5 1
A testConsultPaymentSuccessfully() 0 9 1
A testHistoryReturnFields() 0 18 1
A testCustomerReturnFields() 0 20 1
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 ConsultTest extends TestCase
11
{
12
    public function doConsult($tid)
13
    {
14
        $ipag = new Ipag(new Authentication(getenv('ID_IPAG'), getenv('API_KEY')), Endpoint::SANDBOX);
15
16
        return $ipag->transaction()->setTid($tid)->consult();
17
    }
18
19
    public function testConsultPaymentSuccessfully()
20
    {
21
        $paymentTest = new PaymentTest();
22
        $transaction = $paymentTest->doPayment();
23
24
        $consultedTransaction = $this->doConsult($transaction->tid);
25
26
        $this->assertEquals(getenv('APPROVED'), $consultedTransaction->payment->status);
27
        $this->assertEquals($transaction->tid, $consultedTransaction->tid);
28
    }
29
30
    public function testCustomerReturnFields()
31
    {
32
        $paymentTest = new PaymentTest();
33
        $transaction = $paymentTest->doPayment();
34
35
        $consultedTransaction = $this->doConsult($transaction->tid);
36
37
        $this->assertNotEmpty($consultedTransaction->id);
38
        $this->assertNotEmpty($consultedTransaction->urlCallback);
39
        $this->assertNotEmpty($consultedTransaction->createAt);
40
        $this->assertEquals($consultedTransaction->customer->name, "Fulano da Silva");
41
        $this->assertEquals($consultedTransaction->customer->email, '[email protected]');
42
        $this->assertEquals($consultedTransaction->customer->phone, "11988883333");
43
        $this->assertEquals($consultedTransaction->customer->address->street, 'RUA JULIO GONZALEZ');
44
        $this->assertEquals($consultedTransaction->customer->address->number, '1000');
45
        $this->assertEquals($consultedTransaction->customer->address->complement, '');
46
        $this->assertEquals($consultedTransaction->customer->address->district, 'BARRA FUNDA');
47
        $this->assertEquals($consultedTransaction->customer->address->city, 'SAO PAULO');
48
        $this->assertEquals($consultedTransaction->customer->address->state, 'SP');
49
        $this->assertEquals($consultedTransaction->customer->address->zipCode, '01156060');
50
    }
51
52
    public function testHistoryReturnFields()
53
    {
54
        $paymentTest = new PaymentTest();
55
        $transaction = $paymentTest->doPayment();
56
57
        $consultedTransaction = $this->doConsult($transaction->tid);
58
59
        $this->assertNotEmpty($consultedTransaction->history);
60
        $this->assertEquals($consultedTransaction->history[0]->amount, '10.00');
61
        $this->assertEquals($consultedTransaction->history[0]->operationType, 'created');
62
        $this->assertEquals($consultedTransaction->history[0]->status, 'succeeded');
63
        $this->assertEquals($consultedTransaction->history[1]->amount, '10.00');
64
        $this->assertEquals($consultedTransaction->history[1]->operationType, 'authorized');
65
        $this->assertEquals($consultedTransaction->history[1]->status, 'succeeded');
66
        $this->assertEquals($consultedTransaction->history[1]->responseMessage, 'pre_authorized');
67
        $this->assertNotEmpty($consultedTransaction->history[1]->authorizationCode);
68
        $this->assertNotEmpty($consultedTransaction->history[1]->authorizationId);
69
        $this->assertNotEmpty($consultedTransaction->history[1]->createdAt);
70
    }
71
}
72