From 603fd2524a5a0ed29594eaeca62413246dc4b7d7 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Fri, 18 Jul 2025 20:39:44 +0200 Subject: [PATCH] Fix intermittent failure in the viewer alert tests It takes some time for the viewer alert to be updated after the editor is committed, but the current tests don't await that and proceed too fast to the viewer alert string assertion. This commit fixes the issue by waiting for the expected viewer alert string to appear instead. --- test/integration/freetext_editor_spec.mjs | 5 +++-- test/integration/highlight_editor_spec.mjs | 5 +++-- test/integration/ink_editor_spec.mjs | 5 +++-- test/integration/signature_editor_spec.mjs | 5 +++-- test/integration/stamp_editor_spec.mjs | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/test/integration/freetext_editor_spec.mjs b/test/integration/freetext_editor_spec.mjs index be18987a0..21d800622 100644 --- a/test/integration/freetext_editor_spec.mjs +++ b/test/integration/freetext_editor_spec.mjs @@ -111,8 +111,9 @@ describe("FreeText Editor", () => { await waitForSelectedEditor(page, editorSelector); await waitForStorageEntries(page, 1); - const alert = await page.$eval("#viewer-alert", el => el.textContent); - expect(alert).toEqual("Text added"); + await page.waitForFunction( + `document.getElementById("viewer-alert").textContent === "Text added"` + ); let content = await page.$eval(editorSelector, el => el.innerText.trimEnd() diff --git a/test/integration/highlight_editor_spec.mjs b/test/integration/highlight_editor_spec.mjs index fbf09a614..52ff76dc0 100644 --- a/test/integration/highlight_editor_spec.mjs +++ b/test/integration/highlight_editor_spec.mjs @@ -78,8 +78,9 @@ describe("Highlight Editor", () => { await page.waitForSelector(`${getEditorSelector(0)}`); - const alert = await page.$eval("#viewer-alert", el => el.textContent); - expect(alert).toEqual("Highlight added"); + await page.waitForFunction( + `document.getElementById("viewer-alert").textContent === "Highlight added"` + ); const oneToOne = Array.from(new Array(13).keys(), n => n + 2).concat( Array.from(new Array(13).keys(), n => 13 - n) diff --git a/test/integration/ink_editor_spec.mjs b/test/integration/ink_editor_spec.mjs index a80d9a615..9badf78d3 100644 --- a/test/integration/ink_editor_spec.mjs +++ b/test/integration/ink_editor_spec.mjs @@ -84,8 +84,9 @@ describe("Ink Editor", () => { await commit(page); } - const alert = await page.$eval("#viewer-alert", el => el.textContent); - expect(alert).toEqual("Drawing added"); + await page.waitForFunction( + `document.getElementById("viewer-alert").textContent === "Drawing added"` + ); await clearAll(page); diff --git a/test/integration/signature_editor_spec.mjs b/test/integration/signature_editor_spec.mjs index 89158d4be..ce94f44dc 100644 --- a/test/integration/signature_editor_spec.mjs +++ b/test/integration/signature_editor_spec.mjs @@ -181,8 +181,9 @@ describe("Signature Editor", () => { { visible: true } ); - const alert = await page.$eval("#viewer-alert", el => el.textContent); - expect(alert).toEqual("Signature added"); + await page.waitForFunction( + `document.getElementById("viewer-alert").textContent === "Signature added"` + ); // Check the tooltip. await page.waitForSelector( diff --git a/test/integration/stamp_editor_spec.mjs b/test/integration/stamp_editor_spec.mjs index 24a62496b..5f551cb4c 100644 --- a/test/integration/stamp_editor_spec.mjs +++ b/test/integration/stamp_editor_spec.mjs @@ -125,8 +125,9 @@ describe("Stamp Editor", () => { const editorSelector = getEditorSelector(0); await waitForImage(page, editorSelector); - const alert = await page.$eval("#viewer-alert", el => el.textContent); - expect(alert).toEqual("Image added"); + await page.waitForFunction( + `document.getElementById("viewer-alert").textContent === "Image added"` + ); const { width } = await getEditorDimensions(page, editorSelector);