MessageTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 66
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
eloc 30
c 2
b 0
f 0
dl 0
loc 66
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testAccessors() 0 18 1
A testJsonSerialize() 0 15 1
A testToArray() 0 15 1
1
<?php
2
declare(strict_types = 1);
3
4
namespace TBolier\RethinkQL\UnitTest\Query;
5
6
use TBolier\RethinkQL\Message\Message;
7
use TBolier\RethinkQL\Query\Options;
8
use TBolier\RethinkQL\UnitTest\BaseUnitTestCase;
9
10
class MessageTest extends BaseUnitTestCase
11
{
12
    /**
13
     * @return void
14
     * @throws \Exception
15
     */
16
    public function testAccessors(): void
17
    {
18
        $queryType = 1;
19
        $query = ['yo'];
20
        $options = new Options();
21
        $message = new Message();
22
23
        $message->setCommand($queryType);
24
        $message->setQuery($query);
25
        $message->setOptions($options);
26
27
        $this->assertEquals(1, $message->getQueryType());
28
        $this->assertEquals([
29
            1,
30
            ['yo'],
31
            new Options(),
32
        ], $message->toArray());
33
        $this->assertEquals($options, $message->getOptions());
34
    }
35
36
    /**
37
     * @return void
38
     * @throws \Exception
39
     */
40
    public function testToArray(): void
41
    {
42
        $queryType = 1;
43
        $query = [];
44
        $options = new Options();
45
46
        $message = new Message($queryType, $query, $options);
47
48
        $expectedResults = [
49
            1,
50
            $query,
51
            (object) $options,
52
        ];
53
54
        $this->assertEquals($expectedResults, $message->toArray());
55
    }
56
57
    /**
58
     * @return void
59
     * @throws \Exception
60
     */
61
    public function testJsonSerialize(): void
62
    {
63
        $queryType = 1;
64
        $query = [];
65
        $options = new Options();
66
67
        $message = new Message($queryType, $query, $options);
68
69
        $expectedResults = [
70
            1,
71
            $query,
72
            (object) $options,
73
        ];
74
75
        $this->assertEquals($expectedResults, $message->jsonSerialize());
76
    }
77
}
78