diff --git a/springwolf-examples/e2e/tests/basic.spec.ts b/springwolf-examples/e2e/tests/basic.spec.ts index a5c4dd88c..0c03f21fa 100644 --- a/springwolf-examples/e2e/tests/basic.spec.ts +++ b/springwolf-examples/e2e/tests/basic.spec.ts @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ import { test, expect } from "@playwright/test"; -import { locateChannelItems } from "../util/page_object"; +import { locateChannelItems, pageIsReady } from "../util/page_object"; import { getExampleAsyncApi } from "../util/example"; test.beforeEach(async ({ page }) => { @@ -14,6 +14,8 @@ test("has title", async ({ page }) => { test("can click download and get original asyncapi.json in new tab", async ({ page, }) => { + await pageIsReady(page); + const newPagePromise = page.waitForEvent("popup"); await page.click("text=AsyncAPI JSON"); @@ -28,5 +30,5 @@ test("can click download and get original asyncapi.json in new tab", async ({ }); test("has channels and channel item", async ({ page }) => { - expect(await locateChannelItems(page).count()).toBeGreaterThan(0); + await expect(locateChannelItems(page)).not.toHaveCount(0); }); diff --git a/springwolf-examples/e2e/util/page_object.ts b/springwolf-examples/e2e/util/page_object.ts index 2af532aba..4e9e6206e 100644 --- a/springwolf-examples/e2e/util/page_object.ts +++ b/springwolf-examples/e2e/util/page_object.ts @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: Apache-2.0 */ -import { Locator, Page } from "@playwright/test"; +import { expect, Locator, Page } from "@playwright/test"; export function locateChannels(locator: Page | Locator) { return locator.locator("article#channels article"); @@ -28,3 +28,7 @@ export function locatePublishButton(locator: Locator) { export function locateSnackbar(locator: Page | Locator) { return locator.locator("simple-snack-bar"); } + +export async function pageIsReady(locator: Page | Locator) { + await expect(locateChannelItems(locator)).not.toHaveCount(0); +}