Completed
Push — master ( 7af247...90e87c )
by Dmitry
04:11
created

HubIndexCest::ensureICanSeeLegendBox()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 11
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
/**
3
 * Server module for HiPanel
4
 *
5
 * @link      https://github.com/hiqdev/hipanel-module-server
6
 * @package   hipanel-module-server
7
 * @license   BSD-3-Clause
8
 * @copyright Copyright (c) 2015-2019, HiQDev (http://hiqdev.com/)
9
 */
10
11
namespace hipanel\modules\server\tests\acceptance\admin;
12
13
use hipanel\helpers\Url;
14
use hipanel\tests\_support\Page\IndexPage;
15
use hipanel\tests\_support\Page\Widget\Input\Dropdown;
16
use hipanel\tests\_support\Page\Widget\Input\Input;
17
use hipanel\tests\_support\Page\Widget\Input\Select2;
18
use hipanel\tests\_support\Step\Acceptance\Admin;
19
20
class HubIndexCest
21
{
22
    /** @var IndexPage */
23
    private $indexPage;
24
25
    public function _before(Admin $I)
26
    {
27
        $this->indexPage = new IndexPage($I);
28
    }
29
30
    /**
31
     * @param Admin $I
32
     */
33
    public function ensureIndexPageWorks(Admin $I): void
34
    {
35
        $I->needPage(Url::to('@hub'));
36
        $I->see('Switches', 'h1');
37
        $I->seeLink('Create switch', Url::to('@hub/create'));
38
        $this->ensureICanSeeAdvancedSearchBox($I);
39
        $this->ensureICanSeeLegendBox();
40
        $this->ensureICanSeeBulkServerSearchBox();
41
    }
42
43
    /**
44
     * @param Admin $I
45
     */
46
    private function ensureICanSeeAdvancedSearchBox(Admin $I): void
47
    {
48
        $this->indexPage->containsFilters([
49
            Input::asAdvancedSearch($I, 'Switch'),
50
            Input::asAdvancedSearch($I, 'INN'),
51
            Input::asAdvancedSearch($I, 'IP'),
52
            Input::asAdvancedSearch($I, 'MAC address'),
53
            Input::asAdvancedSearch($I, 'Model'),
54
            Input::asAdvancedSearch($I, 'Order No.'),
55
            (Dropdown::asAdvancedSearch($I, 'Type'))->withItems([
56
                'Switch',
57
                'KVM',
58
                'APC',
59
                'Rack',
60
                'IPMI',
61
                'Module',
62
            ]),
63
            Select2::asAdvancedSearch($I, 'Buyer'),
64
            Input::asAdvancedSearch($I, 'Tariff'),
65
            Input::asAdvancedSearch($I, 'Rack'),
66
        ]);
67
    }
68
69
    private function ensureICanSeeLegendBox(): void
70
    {
71
        $this->indexPage->containsLegend([
72
            'Switch',
73
            'KVM',
74
            'APC',
75
            'IPMI',
76
            'Module',
77
            'Rack',
78
            'Camera',
79
            'Cable organizer',
80
        ]);
81
    }
82
83
    private function ensureICanSeeBulkServerSearchBox(): void
84
    {
85
        $this->indexPage->containsBulkButtons([
86
            'Update',
87
        ]);
88
        $this->indexPage->containsColumns([
89
            'Name',
90
            'INN',
91
            'Model',
92
            'Type',
93
            'IP',
94
            'MAC address',
95
        ]);
96
    }
97
}
98
99