Test Failed
Pull Request — master (#11)
by Pavel
08:20
created

JsonRpcHttpResponseTest::getResponseVariants()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 18
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 12
nc 1
nop 0
1
<?php
2
3
namespace Bankiru\Api\JsonRpc\Tests;
4
5
use Bankiru\Api\JsonRpc\Http\JsonRpcHttpResponse;
6
use Bankiru\Api\JsonRpc\Specification\JsonRpcResponse;
7
use PHPUnit\Framework\TestCase;
8
use ScayTrase\Api\JsonRpc\JsonRpcError;
9
10
final class JsonRpcHttpResponseTest extends TestCase
11
{
12
    public function getResponseVariants()
13
    {
14
        $success = new JsonRpcResponse('single', (object)['success' => true], null);
15
16
        $error = new JsonRpcResponse(
17
            'single',
18
            null,
19
            new JsonRpcError(JsonRpcError::METHOD_NOT_FOUND, 'Invalid method')
20
        );
21
22
        return [
23
            'empty'          => [null],
24
            'empty array'    => [[]],
25
            'single success' => [clone $success],
26
            'single failure' => [clone $error],
27
            'mixed array'    => [[clone $success, clone $error]],
28
        ];
29
    }
30
31
    /**
32
     * @dataProvider getResponseVariants
33
     *
34
     * @param $responses
35
     */
36
    public function testResponseProvidesCorrectHeaders($responses)
37
    {
38
        $response = new JsonRpcHttpResponse($responses);
39
        self::assertTrue($response->isSuccessful());
40
        self::assertTrue($response->headers->has('Content-Type'));
41
        self::assertEquals('application/json', $response->headers->get('Content-Type'));
42
    }
43
}
44