Completed
Push — master ( 7a3efc...f79493 )
by Al3x
02:58
created

RequestOptionsTest::testAddParams()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 25
c 0
b 0
f 0
rs 8.8571
cc 1
eloc 20
nc 1
nop 0
1
<?php
2
declare(strict_types=1);
3
4
namespace InvoiceNinjaModuleTest\Options;
5
6
use InvoiceNinjaModule\Options\Interfaces\RequestOptionsInterface;
7
use InvoiceNinjaModule\Options\RequestOptions;
8
use PHPUnit\Framework\TestCase;
9
10
class RequestOptionsTest extends TestCase
11
{
12
13
    public function testCreate() :void
14
    {
15
        $options = new RequestOptions();
16
        self::assertInstanceOf(RequestOptionsInterface::class, $options);
17
        self::assertEmpty($options->getPostArray());
18
        self::assertEmpty($options->getQueryArray());
19
    }
20
21
    public function testAddParams() :void
22
    {
23
        $options = new RequestOptions();
24
        self::assertEmpty($options->getPostArray());
25
        self::assertEmpty($options->getQueryArray());
26
        $options->addQueryParameters(['test1' => 101]);
27
        $options->setPage(10);
28
        $options->setPageSize(99);
29
        $options->setClientId(222);
30
        $options->setUpdated(222222);
31
        $options->setInclude('sss,sss');
32
        $options->addPostParameters(['test2' => 102]);
33
34
        $expected =  [
35
            'test1' => 101,
36
            'page' => 10,
37
            'per_page' => 99,
38
            'client_id' => 222,
39
            'updated_at' => 222222,
40
            'include' => 'sss,sss'
41
        ];
42
43
        self::assertEquals($expected, $options->getQueryArray());
44
        self::assertEquals(['test2' => 102], $options->getPostArray());
45
    }
46
}
47