Reviewers: #reviewers Subscribers: jenkins-user Differential Revision: https://hub.sealcode.org/D1447
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import type { Browser, BrowserContext, Page } from "@playwright/test";
|
|
import ADMIN_CREDENTIALS from "../default-admin-credentials.js";
|
|
import { getBrowser } from "../test_utils/browser-creator.js";
|
|
import { LONG_TEST_TIMEOUT } from "../test_utils/webhint.js";
|
|
import { withProdApp } from "../test_utils/with-prod-app.js";
|
|
import { LogoutURL, SignInURL } from "./urls.js";
|
|
|
|
describe("Logout", () => {
|
|
let page: Page;
|
|
let browser: Browser;
|
|
let context: BrowserContext;
|
|
const username = ADMIN_CREDENTIALS.username;
|
|
const password = ADMIN_CREDENTIALS.password;
|
|
|
|
beforeEach(async () => {
|
|
browser = await getBrowser();
|
|
context = await browser.newContext();
|
|
page = await context.newPage();
|
|
});
|
|
|
|
afterEach(async () => {
|
|
await context.close();
|
|
});
|
|
|
|
describe("logout test", () => {
|
|
it("logout", async function () {
|
|
await withProdApp(async ({ base_url }) => {
|
|
await page.goto(base_url);
|
|
await page.getByRole("link", { name: "Sign in" }).click();
|
|
await page.getByPlaceholder("text").click();
|
|
await page.getByPlaceholder("text").fill(username);
|
|
await page.getByPlaceholder("text").press("Tab");
|
|
await page.getByPlaceholder("password").fill(password);
|
|
await page.getByPlaceholder("password").press("Enter");
|
|
await page.waitForSelector(`a[href="${LogoutURL}"]`);
|
|
await page.getByRole("link", { name: "Logout" }).click();
|
|
await page.waitForSelector(`a[href="${SignInURL}"]`);
|
|
});
|
|
}).timeout(LONG_TEST_TIMEOUT);
|
|
});
|
|
});
|