test(e2e): add pre-release email login smoke test
This commit is contained in:
@@ -0,0 +1,52 @@
|
|||||||
|
import { expect, test } from "@playwright/test";
|
||||||
|
|
||||||
|
const preReleaseHost = "frontend-test.banlv-ai.com";
|
||||||
|
const baseURL = process.env.PLAYWRIGHT_BASE_URL ?? "";
|
||||||
|
|
||||||
|
test.describe("pre-release email login smoke", () => {
|
||||||
|
test.skip(
|
||||||
|
!baseURL.includes(preReleaseHost),
|
||||||
|
`Run this test only with PLAYWRIGHT_BASE_URL pointing at ${preReleaseHost}.`,
|
||||||
|
);
|
||||||
|
|
||||||
|
test("guest can switch to email login from other sign-in options and return to chat", async ({
|
||||||
|
page,
|
||||||
|
}) => {
|
||||||
|
await page.goto("/splash", { waitUntil: "domcontentloaded" });
|
||||||
|
|
||||||
|
await expect(page.getByRole("button", { name: "Skip" })).toBeVisible();
|
||||||
|
await Promise.all([
|
||||||
|
page.waitForURL(/\/chat(?:\?.*)?$/, { timeout: 20_000 }),
|
||||||
|
page.getByRole("button", { name: "Skip" }).click(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
page.getByRole("button", { name: "Sign up to unlock more features" }),
|
||||||
|
).toBeVisible();
|
||||||
|
await Promise.all([
|
||||||
|
page.waitForURL(/\/auth(?:\?.*)?$/, { timeout: 20_000 }),
|
||||||
|
page
|
||||||
|
.getByRole("button", { name: "Sign up to unlock more features" })
|
||||||
|
.click(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
await page.getByRole("button", { name: "Other Sign In Options" }).click();
|
||||||
|
await expect(
|
||||||
|
page.getByRole("dialog", { name: "Other sign-in options" }),
|
||||||
|
).toBeVisible();
|
||||||
|
|
||||||
|
await page.getByRole("button", { name: "Email Sign In" }).click();
|
||||||
|
await expect(page.getByPlaceholder("Email")).toHaveValue(
|
||||||
|
"chanwillian0@gmail.com",
|
||||||
|
);
|
||||||
|
await expect(page.getByPlaceholder("Password")).toHaveValue("12345678");
|
||||||
|
|
||||||
|
await Promise.all([
|
||||||
|
page.waitForURL(/\/chat(?:\?.*)?$/, { timeout: 20_000 }),
|
||||||
|
page.getByRole("button", { name: "Login" }).click(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
await expect(page.getByRole("button", { name: "Menu" })).toBeVisible();
|
||||||
|
await expect(page.getByRole("textbox", { name: "Message" })).toBeVisible();
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user