27 lines
1.3 KiB
TypeScript
27 lines
1.3 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
test('login and project channel workbench flow', async ({ page }) => {
|
|
await page.goto('/');
|
|
|
|
await expect(page.getByLabel('Server IP or domain')).toBeVisible();
|
|
await page.getByLabel('Server IP or domain').fill('localhost:8080');
|
|
await page.getByLabel('Email or username').fill('david@example.com');
|
|
await page.getByLabel('Password').fill('secret');
|
|
await page.getByRole('button', { name: 'Log in' }).click();
|
|
|
|
await expect(page.getByLabel('Project list')).toBeVisible();
|
|
await expect(page.getByRole('button', { name: 'Project A1' })).toHaveAttribute('aria-pressed', 'true');
|
|
await expect(page.getByRole('button', { name: 'Message Flow 36' })).toBeVisible();
|
|
|
|
await page.getByRole('button', { name: 'Work Plan 8' }).click();
|
|
await expect(page.getByText('Tasks')).toBeVisible();
|
|
await expect(page.getByRole('button', { name: 'Inspect Confirm homepage information architecture' })).toBeVisible();
|
|
|
|
await page.getByRole('button', { name: 'Project A2' }).click();
|
|
await expect(page.getByRole('button', { name: 'Project A2' })).toHaveAttribute('aria-pressed', 'true');
|
|
await expect(page.getByText('Ops Dashboard')).toBeVisible();
|
|
|
|
await page.getByRole('button', { name: 'Ops Dashboard' }).click();
|
|
await expect(page.getByText('Open external channel')).toBeVisible();
|
|
});
|