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

ConsultTest::testCustomerReturnFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 20
rs 9.7333
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 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