/
filter-quick-starts-catalog.ts
93 lines (72 loc) · 2.83 KB
/
filter-quick-starts-catalog.ts
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
import { Given, When, Then } from 'cypress-cucumber-preprocessor/steps';
import { quickStartCard, quickStartsPO } from '../../pageObjects';
import { quickStartsPage } from '../../pages';
When('user clicks on "View all quick starts" on Build with guided documentation card', () => {
quickStartsPage.quickStartsCatalog();
});
Then('user can see Quick Starts catalog page', () => {
cy.get(quickStartsPO.quickStartTitle).should('be.visible');
});
Then('user can see filter by keyword search bar', () => {
cy.get(quickStartsPO.filterKeyword).should('be.visible');
});
Then('user can see Status filter dropdown', () => {
cy.get(quickStartsPO.statusFilter).should('be.visible');
});
Given('user is at Quick Starts catalog page', () => {
quickStartsPage.quickStartsCatalog();
});
When('user clicks on filter by keyword search bar', () => {
cy.get(quickStartsPO.filterKeyword).click();
});
When('user enters {string}', (filterName: string) => {
quickStartsPage.filterByKeyword(filterName);
});
Then('user can see {string} Quick Start', (quickStartName: string) => {
quickStartsPage.cardPresent(quickStartCard(quickStartName));
});
Given('user is at Quick Starts catalog page', () => {
quickStartsPage.quickStartsCatalog();
});
When('user clicks on Status filter menu', () => {
quickStartsPage.status();
});
Then('user can see Complete, In progress and Not started categories', () => {
cy.get(quickStartsPO.statusDropdown).contains('Complete');
cy.get(quickStartsPO.statusDropdown).contains('In progress');
cy.get(quickStartsPO.statusDropdown).contains('Not started');
});
Given('user is at Quick Starts catalog page', () => {
quickStartsPage.quickStartsCatalog();
});
Given('user has completed {string} Quick Start', (quickStartName: string) => {
quickStartsPage.executeQuickStart(quickStartCard(quickStartName));
});
When('user clicks on Status filter menu', () => {
quickStartsPage.status();
});
When('user clicks on completed', () => {
cy.get(quickStartsPO.statusComplete)
.should('be.visible')
.click();
});
Then('user can see {string} Quick Start is present', (quickStartName: string) => {
cy.get(quickStartCard(quickStartName)).should('be.visible');
});
Given('user is at Quick Starts catalog page', () => {
quickStartsPage.quickStartsCatalog();
});
When('user clicks on filter by keyword search bar', () => {
cy.get(quickStartsPO.filterKeyword).click();
});
When('user enters {string}', (filterKeyword: string) => {
quickStartsPage.filterByKeyword(filterKeyword);
});
Then('user can see "No results found" message', () => {
cy.get(quickStartsPO.emptyState).should('be.visible');
cy.get(quickStartsPO.emptyState).contains('No results found');
});
Then('user can see Clear all filters option', () => {
cy.get(quickStartsPO.clearFilter).should('be.visible');
cy.get(quickStartsPO.clearFilter).contains('Clear all filters');
});