@@ -272,11 +272,16 @@ export async function testFilterPersistence(
272
272
await expect ( getFirstElementTextLocator ( page , 0 ) ) . toBeVisible ( ) ;
273
273
// For each tab, check that the selected filter is still checked
274
274
for ( const tab of tabOrder . slice ( 1 ) ) {
275
- await page . getByRole ( "tab" ) . getByText ( tab . tabName , { exact : true } ) . click ( ) ;
275
+ await page
276
+ . getByRole ( "tab" )
277
+ . getByText ( tab . tabName , { exact : true } )
278
+ . dispatchEvent ( "click" ) ;
276
279
await expect ( page . getByText ( filterRegex ( testFilter ) ) ) . toBeVisible ( ) ;
277
- await page . getByText ( filterRegex ( testFilter ) ) . click ( ) ;
280
+ await page . getByText ( filterRegex ( testFilter ) ) . dispatchEvent ( "click" ) ;
281
+ await page . waitForLoadState ( "load" ) ;
278
282
const previously_selected = getNamedFilterButton ( page , filterName ) ;
279
283
await expect ( previously_selected . getByRole ( "checkbox" ) ) . toBeChecked ( ) ;
284
+ await page . waitForLoadState ( "load" ) ;
280
285
await page . locator ( "body" ) . click ( ) ;
281
286
}
282
287
// Return to the start tab and confirm that the filter stays checked and that some content is visible
@@ -303,21 +308,24 @@ export async function testFilterCounts(
303
308
// For each arbitrarily selected filter
304
309
for ( const filter of filters ) {
305
310
// Select the filter
306
- await page . getByText ( filterRegex ( filter ) ) . click ( ) ;
311
+ await page . getByText ( filterRegex ( filter ) ) . dispatchEvent ( "click" ) ;
307
312
// Get the number associated with the first filter button, and select it
313
+ await page . waitForLoadState ( "load" ) ;
308
314
const filter_button = getFirstFilterButton ( page ) ;
309
315
const filter_numbers = ( await filter_button . innerText ( ) ) . split ( "\n" ) ;
310
316
const filter_number =
311
- filter_numbers . map ( ( x ) => Number ( x ) ) . find ( ( x ) => ! isNaN ( x ) ) ?? - 1 ;
312
- if ( ! filter_number ) {
317
+ filter_numbers . map ( ( x ) => Number ( x ) ) . find ( ( x ) => ! isNaN ( x ) && x !== 0 ) ??
318
+ - 1 ;
319
+ if ( filter_number < 0 ) {
320
+ console . log ( filter_numbers . map ( ( x ) => Number ( x ) ) ) ;
313
321
return false ;
314
322
}
315
- await filter_button . getByRole ( "checkbox" ) . setChecked ( true ) ;
323
+ await filter_button . getByRole ( "checkbox" ) . dispatchEvent ( "click" ) ;
324
+ await page . waitForLoadState ( "load" ) ;
316
325
await page . locator ( "body" ) . click ( ) ;
317
326
await expect ( page . getByRole ( "checkbox" ) ) . toHaveCount ( 0 ) ;
318
327
const firstNumber =
319
328
filter_number <= elements_per_page ? filter_number : elements_per_page ;
320
- console . log ( "Results 1 - " + firstNumber + " of " + filter_number ) ;
321
329
322
330
await expect (
323
331
page . getByText ( "Results 1 - " + firstNumber + " of " + filter_number )
@@ -333,21 +341,24 @@ export async function testFilterBubbles(
333
341
) : Promise < void > {
334
342
page . goto ( tab . url ) ;
335
343
for ( const filter of filters ) {
336
- await page . getByText ( filterRegex ( filter ) ) . click ( ) ;
344
+ await page . getByText ( filterRegex ( filter ) ) . dispatchEvent ( "click" ) ;
345
+ //await page.waitForTimeout(500);
346
+ await page . waitForLoadState ( "load" ) ;
337
347
const firstFilterButton = getFirstFilterButton ( page ) ;
338
348
const firstFilterName =
339
349
( await firstFilterButton . innerText ( ) )
340
350
. split ( "\n" )
341
351
. find ( ( x ) => x . length > 0 ) ?? "" ;
342
352
await firstFilterButton . getByRole ( "checkbox" ) . click ( ) ;
353
+ await page . waitForLoadState ( "load" ) ;
343
354
await page . keyboard . press ( "Escape" ) ;
344
355
await expect ( page . getByRole ( "checkbox" ) ) . toHaveCount ( 0 ) ;
345
356
const filterBlueButton = page
346
357
. locator ( "#sidebar-positioner" )
347
358
. getByText ( firstFilterName ) ;
348
359
await expect ( filterBlueButton ) . toBeVisible ( ) ;
349
360
await filterBlueButton . scrollIntoViewIfNeeded ( ) ;
350
- await filterBlueButton . click ( ) ;
361
+ await filterBlueButton . dispatchEvent ( "click" ) ;
351
362
await expect ( filterBlueButton ) . toHaveCount ( 0 ) ;
352
363
}
353
364
}
0 commit comments