Skip to content

Commit 8d0f962

Browse files
committed
fix: attempted fix for filter test issues (#4068)
1 parent 4bdd002 commit 8d0f962

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

explorer/e2e/testFunctions.ts

+20-9
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,16 @@ export async function testFilterPersistence(
272272
await expect(getFirstElementTextLocator(page, 0)).toBeVisible();
273273
// For each tab, check that the selected filter is still checked
274274
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");
276279
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");
278282
const previously_selected = getNamedFilterButton(page, filterName);
279283
await expect(previously_selected.getByRole("checkbox")).toBeChecked();
284+
await page.waitForLoadState("load");
280285
await page.locator("body").click();
281286
}
282287
// 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(
303308
// For each arbitrarily selected filter
304309
for (const filter of filters) {
305310
// Select the filter
306-
await page.getByText(filterRegex(filter)).click();
311+
await page.getByText(filterRegex(filter)).dispatchEvent("click");
307312
// Get the number associated with the first filter button, and select it
313+
await page.waitForLoadState("load");
308314
const filter_button = getFirstFilterButton(page);
309315
const filter_numbers = (await filter_button.innerText()).split("\n");
310316
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)));
313321
return false;
314322
}
315-
await filter_button.getByRole("checkbox").setChecked(true);
323+
await filter_button.getByRole("checkbox").dispatchEvent("click");
324+
await page.waitForLoadState("load");
316325
await page.locator("body").click();
317326
await expect(page.getByRole("checkbox")).toHaveCount(0);
318327
const firstNumber =
319328
filter_number <= elements_per_page ? filter_number : elements_per_page;
320-
console.log("Results 1 - " + firstNumber + " of " + filter_number);
321329

322330
await expect(
323331
page.getByText("Results 1 - " + firstNumber + " of " + filter_number)
@@ -333,21 +341,24 @@ export async function testFilterBubbles(
333341
): Promise<void> {
334342
page.goto(tab.url);
335343
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");
337347
const firstFilterButton = getFirstFilterButton(page);
338348
const firstFilterName =
339349
(await firstFilterButton.innerText())
340350
.split("\n")
341351
.find((x) => x.length > 0) ?? "";
342352
await firstFilterButton.getByRole("checkbox").click();
353+
await page.waitForLoadState("load");
343354
await page.keyboard.press("Escape");
344355
await expect(page.getByRole("checkbox")).toHaveCount(0);
345356
const filterBlueButton = page
346357
.locator("#sidebar-positioner")
347358
.getByText(firstFilterName);
348359
await expect(filterBlueButton).toBeVisible();
349360
await filterBlueButton.scrollIntoViewIfNeeded();
350-
await filterBlueButton.click();
361+
await filterBlueButton.dispatchEvent("click");
351362
await expect(filterBlueButton).toHaveCount(0);
352363
}
353364
}

0 commit comments

Comments
 (0)