DataTablesRequestTest   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 119
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 8
eloc 35
c 1
b 1
f 0
dl 0
loc 119
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetColumn() 0 8 1
A test__construct() 0 13 1
A testSetOrder() 0 9 1
A testSetDraw() 0 6 1
A testSetLength() 0 6 1
A testSetSearch() 0 6 1
A testSetColumns() 0 9 1
A testSetStart() 0 6 1
1
<?php
2
3
/*
4
 * This file is part of the jquery-datatables-bundle package.
5
 *
6
 * (c) 2018 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\JQuery\DataTablesBundle\Tests\Model;
13
14
use Symfony\Component\HttpFoundation\ParameterBag;
15
use WBW\Bundle\JQuery\DataTablesBundle\Api\DataTablesColumnInterface;
16
use WBW\Bundle\JQuery\DataTablesBundle\Api\DataTablesOrderInterface;
17
use WBW\Bundle\JQuery\DataTablesBundle\Model\DataTablesRequest;
18
use WBW\Bundle\JQuery\DataTablesBundle\Tests\AbstractTestCase;
19
20
/**
21
 * DataTables request test.
22
 *
23
 * @author webeweb <https://github.com/webeweb>
24
 * @package WBW\Bundle\JQuery\DataTablesBundle\Tests\Model
25
 */
26
class DataTablesRequestTest extends AbstractTestCase {
27
28
    /**
29
     * Test getColumn()
30
     *
31
     * @return void
32
     */
33
    public function testGetColumn(): void {
34
35
        $obj = new DataTablesRequest();
36
37
        $this->assertNull($obj->getColumn("data"));
38
39
        $obj->setColumns([$this->dtColumn]);
40
        $this->assertSame($this->dtColumn, $obj->getColumn("data"));
41
    }
42
43
    /**
44
     * Test setColumns()
45
     *
46
     * @return void
47
     */
48
    public function testSetColumns(): void {
49
50
        // Set a DataTables column mock.
51
        $dtColumn = $this->getMockBuilder(DataTablesColumnInterface::class)->getMock();
52
53
        $obj = new DataTablesRequest();
54
55
        $obj->setColumns([$dtColumn]);
56
        $this->assertEquals([$dtColumn], $obj->getColumns());
57
    }
58
59
    /**
60
     * Test setDraw()
61
     *
62
     * @return void
63
     */
64
    public function testSetDraw(): void {
65
66
        $obj = new DataTablesRequest();
67
68
        $obj->setDraw(1);
69
        $this->assertEquals(1, $obj->getDraw());
70
    }
71
72
    /**
73
     * Test setLength()
74
     *
75
     * @return void
76
     */
77
    public function testSetLength(): void {
78
79
        $obj = new DataTablesRequest();
80
81
        $obj->setLength(10);
82
        $this->assertEquals(10, $obj->getLength());
83
    }
84
85
    /**
86
     * Test setOrder()
87
     *
88
     * @return void
89
     */
90
    public function testSetOrder(): void {
91
92
        // Set a DataTables column mock.
93
        $dtOrder = $this->getMockBuilder(DataTablesOrderInterface::class)->getMock();
94
95
        $obj = new DataTablesRequest();
96
97
        $obj->setOrder([$dtOrder]);
98
        $this->assertEquals([$dtOrder], $obj->getOrder());
99
    }
100
101
    /**
102
     * Test setSearch()
103
     *
104
     * @return void
105
     */
106
    public function testSetSearch(): void {
107
108
        $obj = new DataTablesRequest();
109
110
        $obj->setSearch($this->dtSearch);
111
        $this->assertSame($this->dtSearch, $obj->getSearch());
112
    }
113
114
    /**
115
     * Test setStart()
116
     *
117
     * @return void
118
     */
119
    public function testSetStart(): void {
120
121
        $obj = new DataTablesRequest();
122
123
        $obj->setStart(0);
124
        $this->assertEquals(0, $obj->getStart());
125
    }
126
127
    /**
128
     * Test __construct()
129
     *
130
     * @return void
131
     */
132
    public function test__construct(): void {
133
134
        $obj = new DataTablesRequest();
135
136
        $this->assertEquals([], $obj->getColumns());
137
        $this->assertEquals(0, $obj->getDraw());
138
        $this->assertEquals(10, $obj->getLength());
139
        $this->assertEquals([], $obj->getOrder());
140
        $this->assertInstanceOf(ParameterBag::class, $obj->getQuery());
141
        $this->assertInstanceOf(ParameterBag::class, $obj->getRequest());
142
        $this->assertNull($obj->getSearch());
143
        $this->assertEquals(0, $obj->getStart());
144
        $this->assertNull($obj->getWrapper());
145
    }
146
}
147