Fix the "Signature Editor Basic operations must check copy and paste" integration test
This integration test fails intermittently because of concurrent clipboard access due to running the test in parallel in both browsers. It can be reproduced by introducing `await waitForTimeout(1000)` between the copy and paste operations. This commit fixes the issue by running the test sequentially instead, mirroring the change from commit 0e94f2bd.
This commit is contained in:
parent
e738566900
commit
2a4f970e00
@ -339,45 +339,44 @@ describe("Signature Editor", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("must check copy and paste", async () => {
|
it("must check copy and paste", async () => {
|
||||||
await Promise.all(
|
// Run sequentially to avoid clipboard issues.
|
||||||
pages.map(async ([browserName, page]) => {
|
for (const [browserName, page] of pages) {
|
||||||
await switchToSignature(page);
|
await switchToSignature(page);
|
||||||
await page.click("#editorSignatureAddSignature");
|
await page.click("#editorSignatureAddSignature");
|
||||||
|
|
||||||
await page.waitForSelector("#addSignatureDialog", {
|
await page.waitForSelector("#addSignatureDialog", {
|
||||||
visible: true,
|
visible: true,
|
||||||
});
|
});
|
||||||
await page.type("#addSignatureTypeInput", "Hello");
|
await page.type("#addSignatureTypeInput", "Hello");
|
||||||
await page.waitForSelector(`${addButtonSelector}:not(:disabled)`);
|
await page.waitForSelector(`${addButtonSelector}:not(:disabled)`);
|
||||||
await page.click("#addSignatureAddButton");
|
await page.click("#addSignatureAddButton");
|
||||||
|
|
||||||
const editorSelector = getEditorSelector(0);
|
const editorSelector = getEditorSelector(0);
|
||||||
await page.waitForSelector(editorSelector, { visible: true });
|
await page.waitForSelector(editorSelector, { visible: true });
|
||||||
const originalRect = await getRect(page, editorSelector);
|
const originalRect = await getRect(page, editorSelector);
|
||||||
const originalDescription = await page.$eval(
|
const originalDescription = await page.$eval(
|
||||||
`${editorSelector} .altText.editDescription`,
|
`${editorSelector} .altText.editDescription`,
|
||||||
el => el.title
|
el => el.title
|
||||||
);
|
);
|
||||||
|
|
||||||
await copy(page);
|
await copy(page);
|
||||||
await paste(page);
|
await paste(page);
|
||||||
|
|
||||||
const pastedEditorSelector = getEditorSelector(1);
|
const pastedEditorSelector = getEditorSelector(1);
|
||||||
await page.waitForSelector(pastedEditorSelector, { visible: true });
|
await page.waitForSelector(pastedEditorSelector, { visible: true });
|
||||||
const pastedRect = await getRect(page, pastedEditorSelector);
|
const pastedRect = await getRect(page, pastedEditorSelector);
|
||||||
const pastedDescription = await page.$eval(
|
const pastedDescription = await page.$eval(
|
||||||
`${pastedEditorSelector} .altText.editDescription`,
|
`${pastedEditorSelector} .altText.editDescription`,
|
||||||
el => el.title
|
el => el.title
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(pastedRect)
|
expect(pastedRect)
|
||||||
.withContext(`In ${browserName}`)
|
.withContext(`In ${browserName}`)
|
||||||
.not.toEqual(originalRect);
|
.not.toEqual(originalRect);
|
||||||
expect(pastedDescription)
|
expect(pastedDescription)
|
||||||
.withContext(`In ${browserName}`)
|
.withContext(`In ${browserName}`)
|
||||||
.toEqual(originalDescription);
|
.toEqual(originalDescription);
|
||||||
})
|
}
|
||||||
);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user