Passed
Push — master ( 62264f...226050 )
by Petr
08:16
created

PagerTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 13
c 1
b 0
f 0
dl 0
loc 25
rs 10
1
<?php
2
3
namespace coreTests\Table;
4
5
6
use CommonTestClass;
7
use kalanis\kw_address_handler\Handler;
8
use kalanis\kw_address_handler\Sources\Sources;
9
use kalanis\kw_connect\arrays\Connector;
10
use kalanis\kw_connect\core\ConnectException;
11
use kalanis\kw_pager\BasicPager;
12
use kalanis\kw_paging\Positions;
13
use kalanis\kw_paging\Render\CliPager;
14
use kalanis\kw_table\core\Connector\PageLink;
15
use kalanis\kw_table\core\Table;
16
use kalanis\kw_table\core\Table\Columns;
17
use kalanis\kw_table\core\TableException;
18
19
20
class PagerTest extends CommonTestClass
21
{
22
    /**
23
     * @throws ConnectException
24
     * @throws TableException
25
     */
26
    public function testNormal(): void
27
    {
28
        $lib = new Table();
29
        $this->assertEmpty($lib->getPagerOrNull());
30
31
        $src = new Sources();
32
        $src->setAddress('//foo/bar');
33
34
        $pager = new BasicPager();
35
        $pageLink = new PageLink(new Handler($src), $pager);
36
        $pager->setActualPage($pageLink->getPageNumber());
37
        $lib->addPager(new CliPager(new Positions($pager)));
38
39
        $lib->addColumn('id', new Columns\Basic('id'));
40
41
        $lib->addDataSetConnector(new Connector($this->basicData()));
42
43
        $lib->translateData();
44
        $this->assertNotEmpty($lib->getPagerOrNull());
45
        $this->assertNotEmpty($lib->getPager());
46
    }
47
48
    /**
49
     * @throws TableException
50
     */
51
    public function testNoPager(): void
52
    {
53
        $lib = new Table(new Connector($this->basicData()));
54
        $this->expectException(TableException::class);
55
        $this->expectExceptionMessage('Need to set paging library first!');
56
        $lib->getPager();
57
    }
58
}
59