Passed
Pull Request — master (#11)
by Pavel
11:58
created

testResponseProvidesCorrectHeaders()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 6
cts 6
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 1
crap 1
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 5
    public function testResponseProvidesCorrectHeaders($responses)
37
    {
38 5
        $response = new JsonRpcHttpResponse($responses);
39 5
        self::assertTrue($response->isSuccessful());
40 5
        self::assertTrue($response->headers->has('Content-Type'));
41 5
        self::assertEquals('application/json', $response->headers->get('Content-Type'));
42 5
    }
43
}
44