itemengine-cypress-automation 1.0.350-feature-thinkSphere-01c175a.0 → 1.0.351-feature-thinkSphere-8768c9c.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cypress/e2e/ILC/BrowseItems/browseReviewItems.js +360 -0
- package/cypress/e2e/ILC/BrowseItems/browseReviewItemsMobileView.js +329 -0
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItems.js +259 -0
- package/cypress/e2e/ILC/BrowseItems/browseThinkSphereItemsMobileView.js +367 -0
- package/cypress/support/commands.js +9 -4
- package/cypress/support/e2e.js +1 -0
- package/cypress/support/helpers/createItem.js +550 -0
- package/cypress/support/helpers/utilities.js +54 -0
- package/package.json +1 -1
@@ -0,0 +1,329 @@
|
|
1
|
+
import { browseItemsPage } from '../../../pages/components/browseItemsPage';
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from '../../../support/helpers/abortEarly';
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
import { common } from '../../../pages/common';
|
6
|
+
const tableHeader = ['Question'];
|
7
|
+
const sortDisable = ['not.have.class'];
|
8
|
+
const sortOptions = ['Question', 'Last updated', 'Created on'];
|
9
|
+
|
10
|
+
describe('Navigate to Think Sphere Browse Items page and view the page contents', () => {
|
11
|
+
before(() => {
|
12
|
+
cy.loginAs('admin');
|
13
|
+
cy.deleteThinkSphereItem('~zzz item name');
|
14
|
+
cy.createThinkSphereItem('~zzz item name');
|
15
|
+
browseItemsPage.steps.navigateToReviewItemsPage();
|
16
|
+
});
|
17
|
+
|
18
|
+
after(() => {
|
19
|
+
cy.deleteThinkSphereItem('~zzz item name');
|
20
|
+
});
|
21
|
+
|
22
|
+
describe('\'Browse ThinkSphere Review Items\' page desktop and mobile view icons section', () => {
|
23
|
+
abortEarlySetup();
|
24
|
+
it('Desktop icon should be present on the page and should be in selected state', () => {
|
25
|
+
browseItemsPage.steps.verifyDesktopIcon();
|
26
|
+
});
|
27
|
+
|
28
|
+
browseItemsPage.tests.verifyDesktopIconSelected(true);
|
29
|
+
|
30
|
+
it('CSS of \'Browse ThinkSphere Review Items\' desktop icon', { tags: 'css' }, () => {
|
31
|
+
utilities.verifyCSS(browseItemsPage.buttonDesktopViewToggle().find('svg'), {
|
32
|
+
'fill': css.color.optionColor,
|
33
|
+
'height': '20px',
|
34
|
+
'width': '20px'
|
35
|
+
});
|
36
|
+
});
|
37
|
+
|
38
|
+
it('Mobile icon should be present on the page and should be in selected state', () => {
|
39
|
+
browseItemsPage.steps.verifyMobileIcon();
|
40
|
+
});
|
41
|
+
|
42
|
+
browseItemsPage.tests.verifyMobileIconSelected(false);
|
43
|
+
|
44
|
+
it('CSS of \'Browse ThinkSphere Review Items\' mobile icon', { tags: 'css' }, () => {
|
45
|
+
utilities.verifyCSS(browseItemsPage.buttonMobileViewToggle().find('svg'), {
|
46
|
+
'fill': css.color.optionColor,
|
47
|
+
'height': '20px',
|
48
|
+
'width': '20px'
|
49
|
+
});
|
50
|
+
});
|
51
|
+
|
52
|
+
it('When user hovers on the desktop and mobile icon tooltip should be visible', () => {
|
53
|
+
browseItemsPage.steps.triggerMouseOverOnViewModeIcon('desktop');
|
54
|
+
browseItemsPage.steps.verifyTooltipPresent();
|
55
|
+
browseItemsPage.steps.verifyTooltipText('Desktop View');
|
56
|
+
browseItemsPage.steps.triggerMouseOutOnViewModeIcon('desktop');
|
57
|
+
browseItemsPage.steps.triggerMouseOverOnViewModeIcon('mobile');
|
58
|
+
browseItemsPage.steps.verifyTooltipPresent();
|
59
|
+
browseItemsPage.steps.verifyTooltipText('Mobile View');
|
60
|
+
browseItemsPage.steps.triggerMouseOutOnViewModeIcon('mobile');
|
61
|
+
});
|
62
|
+
|
63
|
+
it('CSS of desktop and mobile view mode icon tooltip', { tags: 'css' }, () => {
|
64
|
+
browseItemsPage.steps.triggerMouseOverOnViewModeIcon('desktop');
|
65
|
+
utilities.verifyCSS(browseItemsPage.tooltipText(), {
|
66
|
+
'background-color': css.color.sectionHeading,
|
67
|
+
'color': css.color.primaryBtn,
|
68
|
+
'font-size': css.fontSize.small,
|
69
|
+
'font-weight': css.fontWeight.regular
|
70
|
+
});
|
71
|
+
browseItemsPage.steps.triggerMouseOutOnViewModeIcon('desktop');
|
72
|
+
|
73
|
+
cy.log('CSS of desktop and mobile view mode icon in hover state');
|
74
|
+
browseItemsPage.steps.hoverOnViewModeButton('desktop');
|
75
|
+
utilities.verifyCSS(browseItemsPage.buttonDesktopViewToggle(), {
|
76
|
+
'background-color': css.color.tableRowHoverColor,
|
77
|
+
});
|
78
|
+
browseItemsPage.steps.hoverOnViewModeButton('mobile');
|
79
|
+
utilities.verifyCSS(browseItemsPage.buttonMobileViewToggle(), {
|
80
|
+
'background-color': css.color.tableRowHoverColor,
|
81
|
+
});
|
82
|
+
});
|
83
|
+
|
84
|
+
it('When user clicks on the mobile view icon then it should get selected and main wrapper width should change', () => {
|
85
|
+
browseItemsPage.steps.clickOnViewModeIcon('mobile');
|
86
|
+
browseItemsPage.steps.verifyMainWrapperWidth('320px');
|
87
|
+
});
|
88
|
+
|
89
|
+
browseItemsPage.tests.verifyMobileIconSelected(true);
|
90
|
+
browseItemsPage.tests.verifyDesktopIconSelected(false);
|
91
|
+
});
|
92
|
+
|
93
|
+
describe('\'Browse ThinkSphere Review Items\' page header section', () => {
|
94
|
+
abortEarlySetup();
|
95
|
+
it('\'Browse ThinkSphere Review Items\' page header section present', () => {
|
96
|
+
utilities.verifyElementVisibilityState(browseItemsPage.browseItemPageHeaderActionWrapper(), 'exist')
|
97
|
+
utilities.verifyInnerText(browseItemsPage.browseItemPageHeader(), 'Add \'Check your math\' question');
|
98
|
+
utilities.verifyInnerText(browseItemsPage.buttonCancelCreateQuestion(), 'Cancel');
|
99
|
+
utilities.verifyInnerText(browseItemsPage.buttonCreateItem(), 'Create question');
|
100
|
+
});
|
101
|
+
|
102
|
+
it('When user clicks on \'Browse ThinkSphere Review Items\' create question button, then it should navigate to think sphere create question page', () => {
|
103
|
+
/**@TODO Add check for when user clicks on \'Browse ThinkSphere Review Items\' create question button */
|
104
|
+
});
|
105
|
+
|
106
|
+
it('CSS of \'Browse ThinkSphere Review Items\' page header section', { tags: 'css' }, () => {
|
107
|
+
utilities.verifyCSS(browseItemsPage.browseItemPageHeaderActionWrapper(), {
|
108
|
+
'border-bottom': `1px solid ${css.color.secondaryBtnBorder}`,
|
109
|
+
'padding': '16px 0px'
|
110
|
+
});
|
111
|
+
utilities.verifyCSS(browseItemsPage.browseItemPageHeader(), {
|
112
|
+
'color': css.color.secondaryBtn,
|
113
|
+
'font-size': css.fontSize.heading,
|
114
|
+
'font-weight': css.fontWeight.bold
|
115
|
+
});
|
116
|
+
utilities.verifyCSS(browseItemsPage.buttonCreateItem(), {
|
117
|
+
'background-color': css.color.primaryBtnBg,
|
118
|
+
'padding': '12px 16px'
|
119
|
+
});
|
120
|
+
utilities.verifyCSS(browseItemsPage.createItemButtonTypography(), {
|
121
|
+
'color': css.color.primaryBtn,
|
122
|
+
'font-size': css.fontSize.default,
|
123
|
+
'font-weight': css.fontWeight.semibold
|
124
|
+
});
|
125
|
+
utilities.verifyCSS(browseItemsPage.buttonCancelCreateQuestion(), {
|
126
|
+
'background-color': css.color.transparent,
|
127
|
+
'padding': '12px 16px'
|
128
|
+
});
|
129
|
+
utilities.verifyCSS(browseItemsPage.createQuestionCancelButtonTypography(), {
|
130
|
+
'color': css.color.secondaryBtn,
|
131
|
+
'font-size': css.fontSize.default,
|
132
|
+
'font-weight': css.fontWeight.semibold
|
133
|
+
});
|
134
|
+
|
135
|
+
cy.log('CSS of \'Browse ThinkSphere Review Items\' page header section create button in hover state');
|
136
|
+
browseItemsPage.steps.hoverOnCreateItemButton();
|
137
|
+
utilities.verifyCSS(browseItemsPage.buttonCreateItem(), {
|
138
|
+
'background-color': css.color.buttonHoverColor,
|
139
|
+
'box-shadow': `${css.color.secondaryBtn} 0px 3px 0px 0px`
|
140
|
+
});
|
141
|
+
utilities.verifyCSS(browseItemsPage.createItemButtonTypography(), {
|
142
|
+
'color': css.color.primaryBtn
|
143
|
+
});
|
144
|
+
});
|
145
|
+
|
146
|
+
it('Accessibility of create question button', { tags: 'a11y' }, () => {
|
147
|
+
cy.checkAccessibility(browseItemsPage.headerActionButtonWrapper());
|
148
|
+
});
|
149
|
+
});
|
150
|
+
|
151
|
+
describe('\'Browse ThinkSphere Review Items\' list table section columns headers', () => {
|
152
|
+
abortEarlySetup();
|
153
|
+
it('The column headers should be present in the listing table header', () => {
|
154
|
+
browseItemsPage.steps.verifyColumnHeadersInListingTable(tableHeader);
|
155
|
+
});
|
156
|
+
|
157
|
+
it('The column headers should have sort disable', () => {
|
158
|
+
browseItemsPage.steps.verifySortEnableDisableForTableColumnHeader(sortDisable);
|
159
|
+
});
|
160
|
+
|
161
|
+
it('When only one search result is present, then column sort should be disabled', () => {
|
162
|
+
/**@TODO Add check for when only one search result is present */
|
163
|
+
});
|
164
|
+
|
165
|
+
it('CSS of \'Browse ThinkSphere Review Items\' list table section', { tags: 'css' }, () => {
|
166
|
+
tableHeader.forEach((_, count) => {
|
167
|
+
utilities.verifyCSS(browseItemsPage.tableColumnHeaderBrowseItemWrapperDiv(count), {
|
168
|
+
'color': css.color.primaryBtnBorder,
|
169
|
+
'font-size': css.fontSize.default,
|
170
|
+
'font-weight': css.fontWeight.bold
|
171
|
+
});
|
172
|
+
utilities.verifyCSS(browseItemsPage.tableColumnHeader(count).parent().parent(), {
|
173
|
+
'background-color': css.color.optionsBg,
|
174
|
+
});
|
175
|
+
});
|
176
|
+
});
|
177
|
+
});
|
178
|
+
|
179
|
+
describe('\'Browse ThinkSphere Review Items\' list table rows section', () => {
|
180
|
+
abortEarlySetup();
|
181
|
+
browseItemsPage.tests.verifyItemListTableRows();
|
182
|
+
/**@TODO Verify item fields after review item creation*/
|
183
|
+
});
|
184
|
+
|
185
|
+
describe('\'Browse ThinkSphere Review Items\' sort dropdown section', () => {
|
186
|
+
abortEarlySetup();
|
187
|
+
it('Sort dropdown should be present on the page', () => {
|
188
|
+
browseItemsPage.steps.verifySortDropdown();
|
189
|
+
browseItemsPage.steps.verifySortDropdownLabel('Sort by: Last updated');
|
190
|
+
browseItemsPage.steps.verifySortDescendingIcon();
|
191
|
+
});
|
192
|
+
|
193
|
+
it('When user clicks on sort dropdown, then sort options should be display', () => {
|
194
|
+
browseItemsPage.steps.clickOnSortDropdown();
|
195
|
+
browseItemsPage.steps.verifySortDropdownOptions(sortOptions);
|
196
|
+
});
|
197
|
+
|
198
|
+
it('When user clicks on popover container, then it should close sort options menu', () => {
|
199
|
+
browseItemsPage.steps.clickOnNgiePopoverContainer();
|
200
|
+
utilities.verifyElementVisibilityState(browseItemsPage.mobileViewSortbyDropdownOptionsList(), 'notExist');
|
201
|
+
});
|
202
|
+
|
203
|
+
it('When user clicks on each sort dropdown option, then items should sort Ascending and in descending order', () => {
|
204
|
+
sortOptions.forEach((_, count) => {
|
205
|
+
browseItemsPage.steps.clickOnSortDropdown();
|
206
|
+
browseItemsPage.steps.clickOnSortOption(count);
|
207
|
+
browseItemsPage.steps.clickOnSortDropdown();
|
208
|
+
browseItemsPage.steps.sortDropdownOptionSelected(count);
|
209
|
+
browseItemsPage.steps.clickOnNgiePopoverContainer();
|
210
|
+
});
|
211
|
+
browseItemsPage.steps.clickOnSortDropdown();
|
212
|
+
browseItemsPage.steps.clickOnSortOption(1);
|
213
|
+
browseItemsPage.steps.clickOnMobileViewSortAscendingIcon();
|
214
|
+
});
|
215
|
+
|
216
|
+
it('CSS of \'Browse ThinkSphere Review Items\' sort dropdown section', { tags: 'css' }, () => {
|
217
|
+
utilities.verifyCSS(browseItemsPage.mobileViewSortByDropdown(), {
|
218
|
+
'border': `1px solid ${css.color.liTextSelectedBg}`,
|
219
|
+
'box-shadow': `${css.color.liTextSelectedBg} 0px 5px 0px 0px`,
|
220
|
+
'padding': '12px 16px'
|
221
|
+
});
|
222
|
+
utilities.verifyCSS(browseItemsPage.mobileViewSortByDropdownLabelWrapper(), {
|
223
|
+
'color': css.color.highlightedTableCell,
|
224
|
+
'font-size': css.fontSize.default,
|
225
|
+
'font-weight': css.fontWeight.regular
|
226
|
+
});
|
227
|
+
utilities.verifyCSS(browseItemsPage.mobileViewSortByDropdownLabel(), {
|
228
|
+
'color': css.color.highlightedTableCell,
|
229
|
+
'font-size': css.fontSize.default,
|
230
|
+
'font-weight': css.fontWeight.bold
|
231
|
+
});
|
232
|
+
|
233
|
+
cy.log('CSS of \'Browse ThinkSphere Review Items\' sort dropdown section in hover state');
|
234
|
+
browseItemsPage.steps.hoverOnSortDropdown();
|
235
|
+
utilities.verifyCSS(browseItemsPage.mobileViewSortByDropdown(), {
|
236
|
+
'border': `1px solid ${css.color.primaryBtnBg}`,
|
237
|
+
'box-shadow': `${css.color.primaryBtnBg} 0px 3px 0px 0px`
|
238
|
+
});
|
239
|
+
});
|
240
|
+
});
|
241
|
+
|
242
|
+
describe('\'Browse ThinkSphere Review Items\' search section', () => {
|
243
|
+
abortEarlySetup();
|
244
|
+
it('Search bar component should be present', () => {
|
245
|
+
browseItemsPage.steps.verifySearchBarComponent();
|
246
|
+
browseItemsPage.steps.verifySearchIcon();
|
247
|
+
browseItemsPage.steps.verifyCloseIcon();
|
248
|
+
});
|
249
|
+
|
250
|
+
it('CSS of search bar component', { tags: 'css' }, () => {
|
251
|
+
utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
|
252
|
+
'background-color': css.color.progressBarRemainingFill,
|
253
|
+
'border': `1px solid ${css.color.figDefaultComponentBorder}`,
|
254
|
+
'border-radius': '50px',
|
255
|
+
'padding': '0px 8px'
|
256
|
+
});
|
257
|
+
utilities.verifyCSS(browseItemsPage.buttonSearchSVG(), {
|
258
|
+
'fill': css.color.primaryBtnBorder,
|
259
|
+
'height': '18px',
|
260
|
+
'width': '18px'
|
261
|
+
});
|
262
|
+
});
|
263
|
+
|
264
|
+
it('When user types title/tags/content in search component and search, then it should search', () => {
|
265
|
+
/**@TODO Add check for When user types title/tags/content in search component and search */
|
266
|
+
});
|
267
|
+
|
268
|
+
it('CSS of search bar in hover state', { tags: 'css' }, () => {
|
269
|
+
browseItemsPage.steps.hoverOnSearchBarComponent();
|
270
|
+
utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
|
271
|
+
'background-color': css.color.primaryBtn,
|
272
|
+
});
|
273
|
+
});
|
274
|
+
|
275
|
+
it('Accessibility of search bar component', { tags: 'a11y' }, () => {
|
276
|
+
cy.checkAccessibility(browseItemsPage.itemListFilterWrapper());
|
277
|
+
});
|
278
|
+
});
|
279
|
+
|
280
|
+
describe('\'Browse ThinkSphere Review Items\' pagination section', () => {
|
281
|
+
abortEarlySetup();
|
282
|
+
it('Pagination section should be present', () => {
|
283
|
+
browseItemsPage.steps.verifyPaginationSection();
|
284
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 20 of');
|
285
|
+
browseItemsPage.steps.verifyItemsOnPage(20);
|
286
|
+
});
|
287
|
+
|
288
|
+
it('CSS of \'Browse ThinkSphere Review Items\' pagination section', { tags: 'css' }, () => {
|
289
|
+
utilities.verifyCSS(utilities.getNthElement(browseItemsPage.paginationCountText(), 0), {
|
290
|
+
'color': css.color.labels,
|
291
|
+
'font-size': css.fontSize.small,
|
292
|
+
'font-weight': css.fontWeight.regular
|
293
|
+
});
|
294
|
+
utilities.getNthElement(browseItemsPage.paginationBlock(), 0)
|
295
|
+
.within(() => {
|
296
|
+
utilities.verifyCSS(browseItemsPage.buttonNext(), {
|
297
|
+
'box-shadow': `${css.color.secondaryBtnBorder} 0px 5px 0px 0px`,
|
298
|
+
'border': `1px solid ${css.color.secondaryBtnBorder}`,
|
299
|
+
'color': css.color.secondaryBtn,
|
300
|
+
'padding': '7px'
|
301
|
+
});
|
302
|
+
utilities.verifyCSS(browseItemsPage.buttonPrevious(), {
|
303
|
+
'opacity': '0.5',
|
304
|
+
'border': `1px solid ${css.color.secondaryBtnBorder}`,
|
305
|
+
'color': css.color.secondaryBtn,
|
306
|
+
'padding': '7px'
|
307
|
+
});
|
308
|
+
});
|
309
|
+
});
|
310
|
+
|
311
|
+
it('When user clicks on the next page button, then it should display the next page data', () => {
|
312
|
+
browseItemsPage.steps.clickOnNextPageButton();
|
313
|
+
browseItemsPage.steps.verifyPaginationCount('21 - 40 of');
|
314
|
+
browseItemsPage.steps.clickOnPreviousPageButton();
|
315
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 20 of');
|
316
|
+
});
|
317
|
+
|
318
|
+
it('CSS of pagination section next button in hover state', { tags: 'css' }, () => {
|
319
|
+
browseItemsPage.steps.hoverOnNextPageButton();
|
320
|
+
utilities.getNthElement(browseItemsPage.paginationBlock(), 0)
|
321
|
+
.within(() => {
|
322
|
+
utilities.verifyCSS(browseItemsPage.buttonNext(), {
|
323
|
+
'border-color': css.color.primaryBtnBg,
|
324
|
+
'box-shadow': `${css.color.primaryBtnBg} 0px 3px 0px 0px`
|
325
|
+
});
|
326
|
+
});
|
327
|
+
});
|
328
|
+
});
|
329
|
+
});
|
@@ -0,0 +1,259 @@
|
|
1
|
+
import { browseItemsPage } from '../../../pages/components/browseItemsPage';
|
2
|
+
import utilities from "../../../support/helpers/utilities";
|
3
|
+
import abortEarlySetup from "../../../support/helpers/abortEarly";
|
4
|
+
const css = Cypress.env('css');
|
5
|
+
const tableHeader = ['ThinkSphere Item', 'Last updated', 'Created on', 'Tags', 'Actions'];
|
6
|
+
const sortEnable = ['have.class', 'have.class', 'have.class', 'not.have.class', 'not.have.class'];
|
7
|
+
const sortDisable = ['not.have.class', 'not.have.class', 'not.have.class', 'not.have.class', 'not.have.class'];
|
8
|
+
|
9
|
+
describe('Navigate to Think Sphere Browse Items page and view the page contents', () => {
|
10
|
+
before(() => {
|
11
|
+
cy.loginAs('admin');
|
12
|
+
cy.deleteThinkSphereItem('~zzz item name');
|
13
|
+
cy.createThinkSphereItem('~zzz item name');
|
14
|
+
cy.visit(`${Cypress.env('itemEngineHomePage')}`);
|
15
|
+
});
|
16
|
+
|
17
|
+
after(() => {
|
18
|
+
cy.deleteThinkSphereItem('~zzz item name');
|
19
|
+
});
|
20
|
+
|
21
|
+
describe('\'Browse ThinkSphere Items\' list page wrapper section', () => {
|
22
|
+
abortEarlySetup();
|
23
|
+
it('If the user clicks on the \'Browse ThinkSphere Items\' option from the menu bar, user should be navigated to the Think Sphere Browse Items page', () => {
|
24
|
+
browseItemsPage.steps.clickOnBrowseThinkSphereItemsMenuBarOption();
|
25
|
+
browseItemsPage.steps.verifyPageUrl('/item-engine/thinksphere/browse-items');
|
26
|
+
browseItemsPage.steps.verifyBrowseThinkSphereItemsMenuBarOptionSelected();
|
27
|
+
});
|
28
|
+
|
29
|
+
it('\'Browse ThinkSphere Items\' Item list page wrapper section should present', () => {
|
30
|
+
browseItemsPage.steps.verifyBrowseItemsPageWrapperSection();
|
31
|
+
});
|
32
|
+
|
33
|
+
it('CSS of \'Browse ThinkSphere Items\' option', { tags: 'css' }, () => {
|
34
|
+
utilities.verifyCSS(browseItemsPage.browseThinksphereItemsMenuBarOption(), {
|
35
|
+
'color': css.color.codeBlockText,
|
36
|
+
'font-size': css.fontSize.normal,
|
37
|
+
'font-weight': css.fontWeight.medium
|
38
|
+
});
|
39
|
+
utilities.verifyCSS(browseItemsPage.browseItemPageWrapper(), {
|
40
|
+
'background-color': css.color.primaryBtn,
|
41
|
+
'border-radius': '4px',
|
42
|
+
'border': `1px solid ${css.color.borderColor}`,
|
43
|
+
'padding-bottom': '16px'
|
44
|
+
});
|
45
|
+
});
|
46
|
+
});
|
47
|
+
|
48
|
+
describe('\'Browse ThinkSphere Items\' page header section', () => {
|
49
|
+
abortEarlySetup();
|
50
|
+
it('\'Browse ThinkSphere Items\' page header section present', () => {
|
51
|
+
utilities.verifyElementVisibilityState(browseItemsPage.browseItemPageHeaderActionWrapper(), 'exist')
|
52
|
+
utilities.verifyInnerText(browseItemsPage.browseItemPageHeader(), 'Browse ThinkSphere items');
|
53
|
+
utilities.verifyInnerText(browseItemsPage.createItemButtonTypography(), 'Create item');
|
54
|
+
});
|
55
|
+
|
56
|
+
it('When user click on \'Browse ThinkSphere Items\' create item button, then it should navigate to think sphere create item page', () => {
|
57
|
+
browseItemsPage.steps.clickOnCreateItemButton();
|
58
|
+
browseItemsPage.steps.verifyPageUrl('/item-engine/thinksphere/create-item');
|
59
|
+
browseItemsPage.steps.clickWindowsBack();
|
60
|
+
cy.interceptGraphql('getItems');
|
61
|
+
cy.wait(2000);
|
62
|
+
});
|
63
|
+
|
64
|
+
it('CSS of \'Browse ThinkSphere Items\' page header section', { tags: 'css' }, () => {
|
65
|
+
utilities.verifyCSS(browseItemsPage.browseItemPageHeaderActionWrapper(), {
|
66
|
+
'border-bottom': `1px solid ${css.color.secondaryBtnBorder}`,
|
67
|
+
'padding': '16px'
|
68
|
+
});
|
69
|
+
utilities.verifyCSS(browseItemsPage.browseItemPageHeader(), {
|
70
|
+
'color': css.color.secondaryBtn,
|
71
|
+
'font-size': css.fontSize.heading,
|
72
|
+
'font-weight': css.fontWeight.bold
|
73
|
+
});
|
74
|
+
utilities.verifyCSS(browseItemsPage.buttonCreateItem(), {
|
75
|
+
'background-color': css.color.primaryBtnBg,
|
76
|
+
'padding': '12px 16px'
|
77
|
+
});
|
78
|
+
utilities.verifyCSS(browseItemsPage.createItemButtonTypography(), {
|
79
|
+
'color': css.color.primaryBtn,
|
80
|
+
'font-size': css.fontSize.default,
|
81
|
+
'font-weight': css.fontWeight.semibold
|
82
|
+
});
|
83
|
+
|
84
|
+
cy.log('CSS of \'Browse ThinkSphere Items\' page header section create button in hover state');
|
85
|
+
browseItemsPage.steps.hoverOnCreateItemButton();
|
86
|
+
utilities.verifyCSS(browseItemsPage.buttonCreateItem(), {
|
87
|
+
'background-color': css.color.buttonHoverColor,
|
88
|
+
'box-shadow': `${css.color.secondaryBtn} 0px 3px 0px 0px`
|
89
|
+
});
|
90
|
+
utilities.verifyCSS(browseItemsPage.createItemButtonTypography(), {
|
91
|
+
'color': css.color.primaryBtn
|
92
|
+
});
|
93
|
+
});
|
94
|
+
|
95
|
+
it('Accessibility of create item button', { tags: 'a11y' }, () => {
|
96
|
+
cy.checkAccessibility(browseItemsPage.headerActionButtonWrapper());
|
97
|
+
});
|
98
|
+
});
|
99
|
+
|
100
|
+
describe('\'Browse ThinkSphere Items\' list table section columns headers', () => {
|
101
|
+
abortEarlySetup();
|
102
|
+
it('The column headers should be present in the listing table header', () => {
|
103
|
+
browseItemsPage.steps.verifyColumnHeadersInListingTable(tableHeader);
|
104
|
+
});
|
105
|
+
|
106
|
+
it('The column headers should have sort enable', () => {
|
107
|
+
browseItemsPage.steps.verifySortEnableDisableForTableColumnHeader(sortEnable);
|
108
|
+
browseItemsPage.steps.verifyTableSortDescendingByDefault();
|
109
|
+
});
|
110
|
+
|
111
|
+
it('When user click on the column name list data should updated in Ascending and in descending order', () => {
|
112
|
+
tableHeader.slice(0, 3).forEach((_, count) => {
|
113
|
+
browseItemsPage.steps.verifySortFunctionalityOnColumnHeaderClick(count);
|
114
|
+
});
|
115
|
+
browseItemsPage.steps.verifySortFunctionalityOnColumnHeaderClick(1);
|
116
|
+
});
|
117
|
+
|
118
|
+
it('When only one search result is present, then column sort should be disabled', () => {
|
119
|
+
browseItemsPage.steps.addTextInSearchBar('~zzz item name');
|
120
|
+
browseItemsPage.steps.clickOnSearchIcon();
|
121
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 1 of');
|
122
|
+
browseItemsPage.steps.verifySortEnableDisableForTableColumnHeader(sortDisable);
|
123
|
+
browseItemsPage.steps.clearSearchBar();
|
124
|
+
});
|
125
|
+
|
126
|
+
it('CSS of \'Browse ThinkSphere Items\' list table section', { tags: 'css' }, () => {
|
127
|
+
tableHeader.forEach((_, count) => {
|
128
|
+
utilities.verifyCSS(browseItemsPage.tableColumnHeaderBrowseItemWrapperDiv(count), {
|
129
|
+
'color': css.color.primaryBtnBorder,
|
130
|
+
'font-size': css.fontSize.default,
|
131
|
+
'font-weight': css.fontWeight.bold
|
132
|
+
});
|
133
|
+
utilities.verifyCSS(browseItemsPage.tableColumnHeader(count).parent().parent(), {
|
134
|
+
'background-color': css.color.optionsBg,
|
135
|
+
});
|
136
|
+
});
|
137
|
+
utilities.verifyCSS(browseItemsPage.iconSortDescending(), {
|
138
|
+
'fill': css.color.primaryBtnBg
|
139
|
+
});
|
140
|
+
});
|
141
|
+
});
|
142
|
+
|
143
|
+
describe('\'Browse ThinkSphere Items\' list table rows section', () => {
|
144
|
+
abortEarlySetup();
|
145
|
+
browseItemsPage.tests.verifyItemListTableRows();
|
146
|
+
browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
|
147
|
+
browseItemsPage.tests.verifyQuestionInstruction('question instruction text');
|
148
|
+
browseItemsPage.tests.verifyLastUpdatedTimeComponent();
|
149
|
+
browseItemsPage.tests.verifyCreatedOnTimeComponent();
|
150
|
+
browseItemsPage.tests.verifyActionButton();
|
151
|
+
|
152
|
+
it('Accessibility of list table', { tags: 'a11y' }, () => {
|
153
|
+
cy.checkAccessibility(browseItemsPage.datatableWrapper());
|
154
|
+
});
|
155
|
+
});
|
156
|
+
|
157
|
+
describe('\'Browse ThinkSphere Items\' search section', () => {
|
158
|
+
abortEarlySetup();
|
159
|
+
it('Search bar component should be present', () => {
|
160
|
+
browseItemsPage.steps.verifySearchBarComponent();
|
161
|
+
browseItemsPage.steps.verifySearchIcon();
|
162
|
+
browseItemsPage.steps.verifyCloseIcon();
|
163
|
+
});
|
164
|
+
|
165
|
+
it('CSS of search bar component', { tags: 'css' }, () => {
|
166
|
+
utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
|
167
|
+
'background-color': css.color.progressBarRemainingFill,
|
168
|
+
'border': `1px solid ${css.color.figDefaultComponentBorder}`,
|
169
|
+
'border-radius': '50px',
|
170
|
+
'padding': '0px 8px'
|
171
|
+
});
|
172
|
+
utilities.verifyCSS(browseItemsPage.buttonSearchSVG(), {
|
173
|
+
'fill': css.color.primaryBtnBorder,
|
174
|
+
'height': '18px',
|
175
|
+
'width': '18px'
|
176
|
+
});
|
177
|
+
});
|
178
|
+
|
179
|
+
it('When user type title/tags/content in search component and search, then it should search', () => {
|
180
|
+
browseItemsPage.steps.addTextInSearchBar('~zzz');
|
181
|
+
browseItemsPage.steps.clickOnSearchIcon();
|
182
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 1 of');
|
183
|
+
});
|
184
|
+
|
185
|
+
browseItemsPage.tests.verifyItemReferenceId('~zzz item name', true);
|
186
|
+
|
187
|
+
it('User should be able to clear the searchbar',()=>{
|
188
|
+
browseItemsPage.steps.clearSearchBar();
|
189
|
+
});
|
190
|
+
|
191
|
+
it('CSS of search bar in hover state', { tags: 'css' }, () => {
|
192
|
+
browseItemsPage.steps.hoverOnSearchBarComponent();
|
193
|
+
utilities.verifyCSS(browseItemsPage.searchBar().parent(), {
|
194
|
+
'background-color': css.color.primaryBtn,
|
195
|
+
});
|
196
|
+
});
|
197
|
+
|
198
|
+
it('Accessibility of search bar component', { tags: 'a11y' }, () => {
|
199
|
+
cy.checkAccessibility(browseItemsPage.itemListFilterWrapper());
|
200
|
+
});
|
201
|
+
});
|
202
|
+
|
203
|
+
describe('\'Browse ThinkSphere Items\' pagination section', () => {
|
204
|
+
abortEarlySetup();
|
205
|
+
it('Pagination section should be present', () => {
|
206
|
+
browseItemsPage.steps.verifyPaginationSection();
|
207
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 20 of');
|
208
|
+
browseItemsPage.steps.verifyItemsOnPage(20);
|
209
|
+
});
|
210
|
+
|
211
|
+
it('CSS of \'Browse ThinkSphere Items\' pagination section', { tags: 'css' }, () => {
|
212
|
+
utilities.verifyCSS(utilities.getNthElement(browseItemsPage.paginationCountText(), 0), {
|
213
|
+
'color': css.color.labels,
|
214
|
+
'font-size': css.fontSize.small,
|
215
|
+
'font-weight': css.fontWeight.regular
|
216
|
+
});
|
217
|
+
utilities.getNthElement(browseItemsPage.paginationBlock(), 0)
|
218
|
+
.within(() => {
|
219
|
+
utilities.verifyCSS(browseItemsPage.buttonNext(), {
|
220
|
+
'box-shadow': `${css.color.secondaryBtnBorder} 0px 5px 0px 0px`,
|
221
|
+
'border': `1px solid ${css.color.secondaryBtnBorder}`,
|
222
|
+
'color': css.color.secondaryBtn,
|
223
|
+
'padding': '7px'
|
224
|
+
});
|
225
|
+
utilities.verifyCSS(browseItemsPage.buttonPrevious(), {
|
226
|
+
'opacity': '0.5',
|
227
|
+
'border': `1px solid ${css.color.secondaryBtnBorder}`,
|
228
|
+
'color': css.color.secondaryBtn,
|
229
|
+
'padding': '7px'
|
230
|
+
});
|
231
|
+
});
|
232
|
+
});
|
233
|
+
|
234
|
+
it('When user click on the next page button, then it should display the next page data', () => {
|
235
|
+
browseItemsPage.steps.clickOnNextPageButton();
|
236
|
+
browseItemsPage.steps.verifyPaginationCount('21 - 40 of');
|
237
|
+
});
|
238
|
+
|
239
|
+
it('When user click on the prev page button, then it should display the prev page data', () => {
|
240
|
+
browseItemsPage.steps.clickOnPreviousPageButton();
|
241
|
+
browseItemsPage.steps.verifyPaginationCount('1 - 20 of');
|
242
|
+
});
|
243
|
+
|
244
|
+
it('CSS of pagination section next button in hover state', { tags: 'css' }, () => {
|
245
|
+
browseItemsPage.steps.hoverOnNextPageButton();
|
246
|
+
utilities.getNthElement(browseItemsPage.paginationBlock(), 0)
|
247
|
+
.within(() => {
|
248
|
+
utilities.verifyCSS(browseItemsPage.buttonNext(), {
|
249
|
+
'border-color': css.color.primaryBtnBg,
|
250
|
+
'box-shadow': `${css.color.primaryBtnBg} 0px 3px 0px 0px`
|
251
|
+
});
|
252
|
+
});
|
253
|
+
});
|
254
|
+
|
255
|
+
it('Accessibility of pagination block', { tags: 'a11y' }, () => {
|
256
|
+
cy.checkAccessibility(browseItemsPage.paginationBlock());
|
257
|
+
});
|
258
|
+
});
|
259
|
+
});
|