27 lines
865 B
TypeScript
27 lines
865 B
TypeScript
import { exec } from 'child_process';
|
|
import { promisify } from 'util';
|
|
import { Page } from '@playwright/test';
|
|
|
|
const execAsync = promisify(exec);
|
|
|
|
export async function resetDatabase(): Promise<void> {
|
|
await execAsync('cd .. && ./reset_test_data.sh');
|
|
}
|
|
|
|
export async function login(page: Page, username: string, password: string): Promise<void> {
|
|
// Clear cookies to ensure clean state
|
|
await page.context().clearCookies();
|
|
|
|
await page.goto("/auth");
|
|
await page.getByPlaceholder("Name").click();
|
|
await page.getByPlaceholder("Name").fill(username);
|
|
await page.getByPlaceholder("Passwort").click();
|
|
await page.getByPlaceholder("Passwort").fill(password);
|
|
|
|
// Wait for navigation after form submission
|
|
await Promise.all([
|
|
page.waitForURL(/\/(planned|log|$)/, { timeout: 10000 }),
|
|
page.getByPlaceholder("Passwort").press("Enter")
|
|
]);
|
|
}
|