@@ -25,6 +25,7 @@ import { expect } from '../pluginFixtures.js';
25
25
26
26
/**
27
27
* @param {import('@playwright/test').Page } page
28
+ * @returns {Promise<void> }
28
29
*/
29
30
export async function navigateToFaultManagementWithExample ( page ) {
30
31
await page . addInitScript ( {
@@ -36,6 +37,7 @@ export async function navigateToFaultManagementWithExample(page) {
36
37
37
38
/**
38
39
* @param {import('@playwright/test').Page } page
40
+ * @returns {Promise<void> }
39
41
*/
40
42
export async function navigateToFaultManagementWithStaticExample ( page ) {
41
43
await page . addInitScript ( {
@@ -47,6 +49,7 @@ export async function navigateToFaultManagementWithStaticExample(page) {
47
49
48
50
/**
49
51
* @param {import('@playwright/test').Page } page
52
+ * @returns {Promise<void> }
50
53
*/
51
54
export async function navigateToFaultManagementWithoutExample ( page ) {
52
55
await page . addInitScript ( {
@@ -58,6 +61,7 @@ export async function navigateToFaultManagementWithoutExample(page) {
58
61
59
62
/**
60
63
* @param {import('@playwright/test').Page } page
64
+ * @returns {Promise<void> }
61
65
*/
62
66
async function navigateToFaultItemInTree ( page ) {
63
67
await page . goto ( './' , { waitUntil : 'domcontentloaded' } ) ;
@@ -77,6 +81,8 @@ async function navigateToFaultItemInTree(page) {
77
81
78
82
/**
79
83
* @param {import('@playwright/test').Page } page
84
+ * @param {number } rowNumber
85
+ * @returns {Promise<void> }
80
86
*/
81
87
export async function acknowledgeFault ( page , rowNumber ) {
82
88
await openFaultRowMenu ( page , rowNumber ) ;
@@ -86,6 +92,8 @@ export async function acknowledgeFault(page, rowNumber) {
86
92
87
93
/**
88
94
* @param {import('@playwright/test').Page } page
95
+ * @param {...number } nums
96
+ * @returns {Promise<void> }
89
97
*/
90
98
export async function shelveMultipleFaults ( page , ...nums ) {
91
99
const selectRows = nums . map ( ( num ) => {
@@ -99,57 +107,52 @@ export async function shelveMultipleFaults(page, ...nums) {
99
107
100
108
/**
101
109
* @param {import('@playwright/test').Page } page
110
+ * @param {...number } nums
111
+ * @returns {Promise<void> }
102
112
*/
103
113
export async function acknowledgeMultipleFaults ( page , ...nums ) {
104
114
const selectRows = nums . map ( ( num ) => {
105
115
return selectFaultItem ( page , num ) ;
106
116
} ) ;
107
117
await Promise . all ( selectRows ) ;
108
118
109
- await page . locator ( 'button:has-text(" Acknowledge") ') . click ( ) ;
119
+ await page . getByLabel ( ' Acknowledge selected faults ') . click ( ) ;
110
120
await page . getByLabel ( 'Save' ) . click ( ) ;
111
121
}
112
122
113
123
/**
114
124
* @param {import('@playwright/test').Page } page
125
+ * @param {number } rowNumber
126
+ * @returns {Promise<void> }
115
127
*/
116
128
export async function shelveFault ( page , rowNumber ) {
117
129
await openFaultRowMenu ( page , rowNumber ) ;
118
- await page . locator ( '.c-menu >> text="Shelve"' ) . click ( ) ;
119
- // Click [aria-label="Save"]
130
+ await page . getByLabel ( 'Shelve' , { exact : true } ) . click ( ) ;
120
131
await page . getByLabel ( 'Save' ) . click ( ) ;
121
132
}
122
133
123
134
/**
124
135
* @param {import('@playwright/test').Page } page
125
- */
126
- export async function changeViewTo ( page , view ) {
127
- await page . locator ( '.c-fault-mgmt__search-row select' ) . first ( ) . selectOption ( view ) ;
128
- }
129
-
130
- /**
131
- * @param {import('@playwright/test').Page } page
136
+ * @param {'severity' | 'newest-first' | 'oldest-first' } sort
137
+ * @returns {Promise<void> }
132
138
*/
133
139
export async function sortFaultsBy ( page , sort ) {
134
- await page . locator ( '.c-fault-mgmt__list-header-sortButton select' ) . selectOption ( sort ) ;
135
- }
136
-
137
- /**
138
- * @param {import('@playwright/test').Page } page
139
- */
140
- export async function enterSearchTerm ( page , term ) {
141
- await page . locator ( '.c-fault-mgmt-search [aria-label="Search Input"]' ) . fill ( term ) ;
140
+ await page . getByTitle ( 'Sort By' ) . getByRole ( 'combobox' ) . selectOption ( sort ) ;
142
141
}
143
142
144
143
/**
145
144
* @param {import('@playwright/test').Page } page
145
+ * @param {'acknowledged' | 'shelved' | 'standard view' } view
146
+ * @returns {Promise<void> }
146
147
*/
147
- export async function clearSearch ( page ) {
148
- await enterSearchTerm ( page , '' ) ;
148
+ export async function changeViewTo ( page , view ) {
149
+ await page . getByTitle ( 'View Filter' ) . getByRole ( 'combobox' ) . selectOption ( view ) ;
149
150
}
150
151
151
152
/**
152
153
* @param {import('@playwright/test').Page } page
154
+ * @param {number } rowNumber
155
+ * @returns {Promise<void> }
153
156
*/
154
157
export async function selectFaultItem ( page , rowNumber ) {
155
158
await page
@@ -165,116 +168,80 @@ export async function selectFaultItem(page, rowNumber) {
165
168
166
169
/**
167
170
* @param {import('@playwright/test').Page } page
168
- */
169
- export async function getHighestSeverity ( page ) {
170
- const criticalCount = await page . locator ( '[title=CRITICAL]' ) . count ( ) ;
171
- const warningCount = await page . locator ( '[title=WARNING]' ) . count ( ) ;
172
-
173
- if ( criticalCount > 0 ) {
174
- return 'CRITICAL' ;
175
- } else if ( warningCount > 0 ) {
176
- return 'WARNING' ;
177
- }
178
-
179
- return 'WATCH' ;
180
- }
181
-
182
- /**
183
- * @param {import('@playwright/test').Page } page
184
- */
185
- export async function getLowestSeverity ( page ) {
186
- const warningCount = await page . locator ( '[title=WARNING]' ) . count ( ) ;
187
- const watchCount = await page . locator ( '[title=WATCH]' ) . count ( ) ;
188
-
189
- if ( watchCount > 0 ) {
190
- return 'WATCH' ;
191
- } else if ( warningCount > 0 ) {
192
- return 'WARNING' ;
193
- }
194
-
195
- return 'CRITICAL' ;
196
- }
197
-
198
- /**
199
- * @param {import('@playwright/test').Page } page
200
- */
201
- export async function getFaultResultCount ( page ) {
202
- const count = await page . locator ( '.c-faults-list-view-item-body > .c-fault-mgmt__list' ) . count ( ) ;
203
-
204
- return count ;
205
- }
206
-
207
- /**
208
- * @param {import('@playwright/test').Page } page
171
+ * @param {number } rowNumber
172
+ * @returns {import('@playwright/test').Locator }
209
173
*/
210
174
export function getFault ( page , rowNumber ) {
211
- const fault = page . locator (
212
- `.c-faults-list-view-item-body > .c-fault-mgmt__list >> nth=${ rowNumber - 1 } `
213
- ) ;
175
+ const fault = page . getByLabel ( 'Fault triggered at' ) . nth ( rowNumber - 1 ) ;
214
176
215
177
return fault ;
216
178
}
217
179
218
180
/**
219
181
* @param {import('@playwright/test').Page } page
182
+ * @param {string } name
183
+ * @returns {import('@playwright/test').Locator }
220
184
*/
221
185
export function getFaultByName ( page , name ) {
222
- const fault = page . locator ( `.c-fault-mgmt__list-faultname:has-text("${ name } ")` ) ;
186
+ const fault = page . getByLabel ( 'Fault triggered at' ) . filter ( {
187
+ hasText : name
188
+ } ) ;
223
189
224
190
return fault ;
225
191
}
226
192
227
193
/**
228
194
* @param {import('@playwright/test').Page } page
195
+ * @param {number } rowNumber
196
+ * @returns {Promise<string> }
229
197
*/
230
198
export async function getFaultName ( page , rowNumber ) {
231
199
const faultName = await page
232
- . locator ( `.c-fault-mgmt__list-faultname >> nth=${ rowNumber - 1 } ` )
200
+ . getByLabel ( 'Fault name' , { exact : true } )
201
+ . nth ( rowNumber - 1 )
233
202
. textContent ( ) ;
234
203
235
204
return faultName ;
236
205
}
237
206
238
207
/**
239
208
* @param {import('@playwright/test').Page } page
240
- */
241
- export async function getFaultSeverity ( page , rowNumber ) {
242
- const faultSeverity = await page
243
- . locator ( `.c-faults-list-view-item-body .c-fault-mgmt__list-severity >> nth=${ rowNumber - 1 } ` )
244
- . getAttribute ( 'title' ) ;
245
-
246
- return faultSeverity ;
247
- }
248
-
249
- /**
250
- * @param {import('@playwright/test').Page } page
209
+ * @param {number } rowNumber
210
+ * @returns {Promise<string> }
251
211
*/
252
212
export async function getFaultNamespace ( page , rowNumber ) {
253
213
const faultNamespace = await page
254
- . locator ( `.c-fault-mgmt__list-path >> nth=${ rowNumber - 1 } ` )
214
+ . getByLabel ( 'Fault namespace' )
215
+ . nth ( rowNumber - 1 )
255
216
. textContent ( ) ;
256
217
257
218
return faultNamespace ;
258
219
}
259
220
260
221
/**
261
222
* @param {import('@playwright/test').Page } page
223
+ * @param {number } rowNumber
224
+ * @returns {Promise<string> }
262
225
*/
263
226
export async function getFaultTriggerTime ( page , rowNumber ) {
264
227
const faultTriggerTime = await page
265
- . locator ( `.c-fault-mgmt__list-trigTime >> nth=${ rowNumber - 1 } >> .c-fault-mgmt-item__value` )
228
+ . getByLabel ( 'Last Trigger Time' )
229
+ . nth ( rowNumber - 1 )
266
230
. textContent ( ) ;
267
231
268
232
return faultTriggerTime . toString ( ) . trim ( ) ;
269
233
}
270
234
271
235
/**
272
236
* @param {import('@playwright/test').Page } page
237
+ * @param {number } rowNumber
238
+ * @returns {Promise<void> }
273
239
*/
274
240
export async function openFaultRowMenu ( page , rowNumber ) {
275
241
// select
276
242
await page
277
- . getByLabel ( 'Disposition actions ' )
243
+ . getByLabel ( 'Fault triggered at ' )
278
244
. nth ( rowNumber - 1 )
245
+ . getByLabel ( 'Disposition Actions' )
279
246
. click ( ) ;
280
247
}
0 commit comments