20 lines
574 B
TypeScript
20 lines
574 B
TypeScript
|
|
import { expect, Page } from '@playwright/test';
|
||
|
|
|
||
|
|
let isLoggedIn = false;
|
||
|
|
|
||
|
|
export async function login(page: Page) {
|
||
|
|
if (!process.env.TEST_APP_URL) throw new Error('Expect TEST_APP_URL env.');
|
||
|
|
|
||
|
|
if (isLoggedIn) return;
|
||
|
|
|
||
|
|
await page.goto('/');
|
||
|
|
await expect(page).toHaveTitle(/^Sign in to /);
|
||
|
|
await page.fill("input[name='username']", 'admin');
|
||
|
|
await page.fill("input[name='password']", '1234');
|
||
|
|
await page.click('id=kc-login');
|
||
|
|
await page.waitForTimeout(2000);
|
||
|
|
await expect(page).toHaveURL(new RegExp('^' + process.env.TEST_APP_URL));
|
||
|
|
|
||
|
|
isLoggedIn = true;
|
||
|
|
}
|