Passed
Push — master ( 8baa4a...fa5dd9 )
by João Felipe Magro
01:17
created

CallbackServiceTest::testGetResponse()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 15
rs 9.4285
cc 1
eloc 10
nc 1
nop 0
1
<?php
2
3
namespace Tests\Classes\Services;
4
5
use Ipag\Classes\Services\CallbackService;
6
use PHPUnit\Framework\TestCase;
7
use stdClass;
8
9
class CallbackServiceTest extends TestCase
10
{
11
    private $callbackService;
12
13
    public function setUp()
14
    {
15
        parent::setUp();
16
17
        $this->callbackService = new CallbackService();
18
    }
19
20
    private function xmlDummyResponse()
21
    {
22
        return '<?xml version="1.0" encoding="utf-8" ?>
23
            <retorno>
24
                <id_transacao>123456789</id_transacao>
25
                <valor>10.00</valor>
26
                <num_pedido>123456</num_pedido>
27
                <status_pagamento>8</status_pagamento>
28
                <mensagem_transacao>Transação Autorizada</mensagem_transacao>
29
                <metodo>visa</metodo>
30
                <operadora>cielo</operadora>
31
                <operadora_mensagem>Transação autorizada</operadora_mensagem>
32
                <id_librepag>12345</id_librepag>
33
                <autorizacao_id>123456</autorizacao_id>
34
                <redirect>false</redirect>
35
                <url_autenticacao>https://minhaloja.com.br/ipag/retorno</url_autenticacao>
36
            </retorno>';
37
    }
38
39
    public function testGetResponse()
40
    {
41
        $expected = new stdClass();
42
        $expected->tid = '123456789';
43
        $expected->amount = 10.00;
44
45
        $expected->payment = new stdClass();
46
        $expected->payment->status = '8';
47
48
        $response = $this->callbackService->getResponse($this->xmlDummyResponse());
49
50
        $this->assertInstanceOf('stdClass', $response);
51
        $this->assertEquals($expected->tid, $response->tid);
52
        $this->assertEquals($expected->amount, $response->amount);
53
        $this->assertEquals($expected->payment->status, $response->payment->status);
54
    }
55
}
56