diff --git a/e2e/project/tour.spec.ts b/e2e/project/tour.spec.ts new file mode 100644 index 0000000000..b21f9bf699 --- /dev/null +++ b/e2e/project/tour.spec.ts @@ -0,0 +1,39 @@ +import { expect, test } from "../fixtures"; +import { waitForLoadingOverlayGone } from "e2e/utils/waitForLoadingOverlayToDisappear"; + +test.describe("Tour Suite", () => { + test.beforeEach(async ({ page }) => { + await waitForLoadingOverlayGone(page); + await page.goto("/intro"); + }); + + test("Onboarding tour - handle existing or create new", async ({ page }) => { + const startButton = page.getByRole("button", { name: "Start the tour Onboarding" }); + + await startButton.waitFor({ state: "attached" }); + const isStartButtonVisible = await startButton.isVisible(); + + if (!isStartButtonVisible) { + await page.goto("/"); + const deleteButton = page.getByRole("button", { name: "Delete project quickstart" }); + await deleteButton.click(); + await page + .getByRole("button", { name: "Delete", exact: true }) + .or(page.getByRole("button", { name: "Ok" })) + .click(); + await expect(deleteButton).toBeHidden(); + + await page.goto("/intro"); + await expect(startButton).toBeVisible(); + } + + await startButton.click(); + await page.getByRole("button", { name: "Go to the next step" }).click(); + await page.getByRole("button", { name: "Deploy the project" }).click(); + await page.getByRole("button", { name: "Manual Run" }).click(); + await page.getByRole("button", { name: "View Sessions" }).click(); + await page.getByRole("button", { name: "Refresh Data" }).click(); + + await expect(startButton).toBeHidden(); + }); +}); diff --git a/src/components/molecules/toursProgressStepper.tsx b/src/components/molecules/toursProgressStepper.tsx index 0c941eac5d..4e042dc819 100644 --- a/src/components/molecules/toursProgressStepper.tsx +++ b/src/components/molecules/toursProgressStepper.tsx @@ -74,7 +74,7 @@ export const ToursProgressStepper = ({ onStepStart, isStarting }: TutorialProgre {completedTours?.includes(id) ? null : (