1 | <?php |
||
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 |