Completed
Pull Request — develop (#48)
by Luís
02:58 queued 50s
created

PagSeguroExceptionTest::createShouldParseAsXmlWhenStatusCodeIs400()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 28
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 28
rs 8.8571
cc 1
eloc 11
nc 1
nop 0
1
<?php
2
namespace PHPSC\PagSeguro\Client;
3
4
use GuzzleHttp\Psr7\Response;
5
6
class PagSeguroExceptionTest extends \PHPUnit_Framework_TestCase
7
{
8
    /**
9
     * @test
10
     */
11
    public function createShouldCreateAGenericMessageWhenStatusCodeIsNot400()
12
    {
13
        $response = new Response(500, [], 'Server gone mad');
14
        $exception = PagSeguroException::create($response);
15
16
        $this->assertInstanceOf(PagSeguroException::class, $exception);
17
        $this->assertEquals('[500] A HTTP error has occurred: Server gone mad', $exception->getMessage());
18
    }
19
20
    /**
21
     * @test
22
     */
23
    public function createShouldParseAsXmlWhenStatusCodeIs400()
24
    {
25
        $xml = <<<'XML'
26
<?xml version="1.0" encoding="UTF-8"?>
27
<errors>
28
    <error>
29
        <code>11004</code>
30
        <message>Currency is required.</message>
31
    </error>
32
    <error>
33
        <code>11005</code>
34
        <message>Currency invalid value: 100</message>
35
    </error>
36
</errors>
37
XML;
38
39
        $message = <<<'MESSAGE'
40
Some errors occurred:
41
[11004] Currency is required.
42
[11005] Currency invalid value: 100
43
MESSAGE;
44
45
        $response = new Response(400, [], $xml);
46
        $exception = PagSeguroException::create($response);
47
48
        $this->assertInstanceOf(PagSeguroException::class, $exception);
49
        $this->assertEquals($message, $exception->getMessage());
50
    }
51
}
52