Completed
Push — master ( f3d63a...ac0cda )
by Andrii
04:25
created

ServerIndexCest::ensureICanSeeLegendBox()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 31

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 31
c 0
b 0
f 0
dl 0
loc 33
rs 9.424
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\seller;
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\Seller;
19
20
class ServerIndexCest
21
{
22
    /**
23
     * @var IndexPage
24
     */
25
    private $index;
26
27
    public function _before(Seller $I)
28
    {
29
        $this->index = new IndexPage($I);
30
    }
31
32
    public function ensureIndexPageWorks(Seller $I)
33
    {
34
        $I->login();
35
        $I->needPage(Url::to('@server'));
36
        $I->see('Servers', 'h1');
37
//        $I->seeLink('Buy server', Url::to('/server/order/index'));
38
        $this->ensureICanSeeAdvancedSearchBox($I);
39
        $this->ensureICanSeeLegendBox();
40
        $this->ensureICanSeeBulkServerSearchBox();
41
    }
42
43
    private function ensureICanSeeAdvancedSearchBox(Seller $I)
44
    {
45
        $this->index->containsFilters([
46
            Input::asAdvancedSearch($I, 'Name'),
47
            Input::asAdvancedSearch($I, 'Internal note'),
48
            Input::asAdvancedSearch($I, 'Order'),
49
            Input::asAdvancedSearch($I, 'IP'),
50
            Select2::asAdvancedSearch($I, 'Client'),
51
            Select2::asAdvancedSearch($I, 'Reseller'),
52
            Input::asAdvancedSearch($I, 'Hardware Summary'),
53
            Select2::asAdvancedSearch($I, 'Type'),
54
            Select2::asAdvancedSearch($I, 'Status'),
55
            Input::asAdvancedSearch($I, 'Tariff'),
56
            Dropdown::asAdvancedSearch($I, 'Is wizzarded'),
57
        ]);
58
    }
59
60
    private function ensureICanSeeLegendBox()
61
    {
62
        $this->index->containsLegend([
63
            'unused: UU',
64
            'setup: SETUP',
65
            'delivery: DLVR',
66
            'reserved: RSVD',
67
            'dedicated: DSS',
68
            'unmanaged: DSU',
69
            'virtual: SH',
70
            'system: IU',
71
            'remote: RS',
72
            'vdsmaster: VM',
73
            'vds: VDS',
74
            'avdsnode: aVDSnode',
75
            'avds: XEN',
76
            'ovds: OpenVZ',
77
            'svds: XENSSD',
78
            'cdn: vCDN.service',
79
            'cdnv2: vCDN.node',
80
            'cdnpix: pCDN.service',
81
            'cdnstat: pCDN.node',
82
            'cloudstorage: CLDStor.node',
83
            'jail: JL',
84
            'nic: NC',
85
            'uplink1: U1',
86
            'uplink2: U2',
87
            'uplink3: U3',
88
            'total: TOTAL',
89
            'transit: TS',
90
            'stock: STOCK',
91
            'deleted: DEL',
92
            'office: OFFICE',
93
        ]);
94
    }
95
96
    private function ensureICanSeeBulkServerSearchBox()
97
    {
98
        $this->index->containsBulkButtons([
99
            'Basic actions',
100
        ]);
101
        $this->index->containsColumns([
102
            'Name',
103
            'Client',
104
            'Reseller',
105
            'IPs',
106
            'Tariff',
107
            'Hardware Summary',
108
        ], 'common');
109
        $this->index->containsColumns([
110
            'IPs',
111
            'Client',
112
            'DC',
113
            'Name',
114
            'Order',
115
            'Hardware Summary',
116
        ], 'short');
117
        $this->index->containsColumns([
118
            'DC',
119
            'Name',
120
            'Type',
121
            'IP',
122
            'MAC',
123
            'Hardware Summary',
124
        ], 'admin');
125
    }
126
}
127