Completed
Push — master ( aff9ed...6599f1 )
by Tobias
04:22 queued 02:57
created

TransformerTest::testOutputArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 28
rs 9.472
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Tests\Happyr\MessageSerializer\Transformer;
6
7
use Happyr\MessageSerializer\Transformer\Transformer;
8
use Happyr\MessageSerializer\Transformer\TransformerInterface;
9
use PHPUnit\Framework\TestCase;
10
11
class TransformerTest extends TestCase
12
{
13
    public function testOutputArray()
14
    {
15
        $fooTransformer = $this->getMockBuilder(TransformerInterface::class)
16
            ->setMethods(['getVersion', 'getIdentifier', 'getPayload', 'supports'])
17
            ->getMock();
18
19
        $version = 2;
20
        $identifier = 'foobar';
21
        $payload = ['foo' => 'bar'];
22
23
        $fooTransformer->method('getVersion')->willReturn($version);
24
        $fooTransformer->method('getIdentifier')->willReturn($identifier);
25
        $fooTransformer->method('supports')->willReturn(true);
26
        $fooTransformer->method('getPayload')->willReturn($payload);
27
28
        $transformer = new Transformer([$fooTransformer]);
29
        $output = $transformer->toArray(new \stdClass());
30
31
        $this->assertArrayHasKey('version', $output);
32
        $this->assertArrayHasKey('identifier', $output);
33
        $this->assertArrayHasKey('timestamp', $output);
34
        $this->assertArrayHasKey('payload', $output);
35
36
        $this->assertEquals($output['version'], $version);
37
        $this->assertEquals($output['identifier'], $identifier);
38
        $this->assertEquals($output['payload'], $payload);
39
        $this->assertEquals($output['timestamp'], time(), '', 3);
40
    }
41
}
42