48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
import {
|
|
enterChatFromSplash,
|
|
submitEmailLogin,
|
|
switchToEmailSignIn,
|
|
} from "../../fixtures/test-helpers";
|
|
|
|
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 enterChatFromSplash(page, {
|
|
expectedUrl: /\/chat(?:\?.*)?$/,
|
|
timeout: 20_000,
|
|
waitUntil: "domcontentloaded",
|
|
});
|
|
|
|
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 switchToEmailSignIn(page);
|
|
await submitEmailLogin(page, {
|
|
expectedUrl: /\/chat(?:\?.*)?$/,
|
|
waitForRequest: false,
|
|
urlTimeout: 20_000,
|
|
});
|
|
|
|
await expect(page.getByRole("button", { name: "Menu" })).toBeVisible();
|
|
await expect(page.getByRole("textbox", { name: "Message" })).toBeVisible();
|
|
});
|
|
});
|