mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 15:53:02 +10:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import type { Page } from '@playwright/test';
|
|
|
|
import { WEBAPP_BASE_URL } from '@documenso/lib/constants/app';
|
|
|
|
type ManualLoginOptions = {
|
|
page: Page;
|
|
email?: string;
|
|
password?: string;
|
|
|
|
/**
|
|
* Where to navigate after login.
|
|
*/
|
|
redirectPath?: string;
|
|
};
|
|
|
|
export const manualLogin = async ({
|
|
page,
|
|
email = 'example@documenso.com',
|
|
password = 'password',
|
|
redirectPath,
|
|
}: ManualLoginOptions) => {
|
|
await page.goto(`${WEBAPP_BASE_URL}/signin`);
|
|
|
|
await page.getByLabel('Email').click();
|
|
await page.getByLabel('Email').fill(email);
|
|
|
|
await page.getByLabel('Password', { exact: true }).fill(password);
|
|
await page.getByLabel('Password', { exact: true }).press('Enter');
|
|
|
|
if (redirectPath) {
|
|
await page.waitForURL(`${WEBAPP_BASE_URL}/documents`);
|
|
await page.goto(`${WEBAPP_BASE_URL}${redirectPath}`);
|
|
}
|
|
};
|
|
|
|
export const manualSignout = async ({ page }: ManualLoginOptions) => {
|
|
await page.waitForTimeout(1000);
|
|
await page.getByTestId('menu-switcher').click();
|
|
await page.getByRole('menuitem', { name: 'Sign Out' }).click();
|
|
await page.waitForURL(`${WEBAPP_BASE_URL}/signin`);
|
|
};
|