-
Notifications
You must be signed in to change notification settings - Fork 0
/
FilterPreferencesCest.php
98 lines (82 loc) · 3.31 KB
/
FilterPreferencesCest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/**
* Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
* Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
*/
namespace SprykerTest\Zed\ProductSearch\Presentation\FilterPreferences;
use SprykerTest\Zed\ProductSearch\PageObject\FilterPreferencesPage;
use SprykerTest\Zed\ProductSearch\ProductSearchPresentationTester;
/**
* Auto-generated group annotations
*
* @group SprykerTest
* @group Zed
* @group ProductSearch
* @group Presentation
* @group FilterPreferences
* @group FilterPreferencesCest
* Add your own group annotations below this line
*/
class FilterPreferencesCest
{
/**
* @param \SprykerTest\Zed\ProductSearch\ProductSearchPresentationTester $i
*
* @return void
*/
public function showListOfFilters(ProductSearchPresentationTester $i): void
{
$i->amOnPage(FilterPreferencesPage::URL_LIST);
$i->seeElement(FilterPreferencesPage::SELECTOR_FILTER_LIST);
}
/**
* @param \SprykerTest\Zed\ProductSearch\ProductSearchPresentationTester $i
*
* @return void
*/
public function createEditAndRemoveFilter(ProductSearchPresentationTester $i): void
{
$id = $i->createFilter('foooooo_' . rand(1, 1000));
$i->updateFilter($id);
$i->deleteFilter($id);
}
/**
* @param \SprykerTest\Zed\ProductSearch\ProductSearchPresentationTester $i
*
* @return void
*/
public function updateFilterOrder(ProductSearchPresentationTester $i): void
{
$idFoo = $i->createFilter('foooooo_' . rand(1, 1000));
$idBar = $i->createFilter('baaaaar_' . rand(1, 1000));
$i->amOnPage('/product-search/filter-reorder');
// check initial order
$i->canSeeElement('li[data-id-product-search-attribute="' . $idFoo . '"] ~ li[data-id-product-search-attribute="' . $idBar . '"]');
// drag and drop to change order
$i->dragAndDrop('li[data-id-product-search-attribute="' . $idFoo . '"]', 'li[data-id-product-search-attribute="' . $idBar . '"]');
$i->dragAndDrop('li[data-id-product-search-attribute="' . $idBar . '"]', 'li[data-id-product-search-attribute="' . $idFoo . '"]');
// check order after drag and drop
$i->canSeeElement('li[data-id-product-search-attribute="' . $idBar . '"] ~ li[data-id-product-search-attribute="' . $idFoo . '"]');
// save
$i->click(FilterPreferencesPage::SELECTOR_SAVE_FILTER_ORDER);
$i->wait(5);
$i->canSee('Success', FilterPreferencesPage::SELECTOR_ORDER_SAVE_ALERT);
// check if it was persistent
$i->reloadPage();
$i->canSeeElement('li[data-id-product-search-attribute="' . $idBar . '"] ~ li[data-id-product-search-attribute="' . $idFoo . '"]');
}
/**
* @param \SprykerTest\Zed\ProductSearch\ProductSearchPresentationTester $i
*
* @return void
*/
public function synchronizeFilterPreferences(ProductSearchPresentationTester $i): void
{
$i->createFilter('foooooo_' . rand(1, 1000));
$i->amOnPage(FilterPreferencesPage::URL_LIST);
$i->click(FilterPreferencesPage::SELECTOR_SYNC_FILTERS);
$i->wait(5);
$i->canSeeCurrentUrlEquals(FilterPreferencesPage::URL_LIST);
$i->canSee('Filter preferences synchronization was successful.');
}
}