feat: build Learning Planner evidence project
This commit is contained in:
37
e2e/app.spec.ts
Normal file
37
e2e/app.spec.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { expect, test } from '@playwright/test'
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/')
|
||||
await page.evaluate(() => localStorage.clear())
|
||||
await page.reload()
|
||||
})
|
||||
|
||||
test('core planning journey persists after reload', async ({ page }) => {
|
||||
await expect(page.getByRole('heading', { name: /good progress starts/i })).toBeVisible()
|
||||
await page.getByRole('button', { name: 'Learning goals' }).click()
|
||||
await page.getByRole('button', { name: 'New goal' }).click()
|
||||
await page.getByLabel('Goal title').fill('Research progressive enhancement')
|
||||
await page.getByLabel('Category').fill('Web platform')
|
||||
await page.getByLabel('Target date').fill('2026-12-01')
|
||||
await page.getByRole('button', { name: 'Save goal' }).click()
|
||||
await expect(page.getByRole('heading', { name: 'Research progressive enhancement' })).toBeVisible()
|
||||
await page.reload()
|
||||
await page.getByRole('button', { name: 'Learning goals' }).click()
|
||||
await expect(page.getByRole('heading', { name: 'Research progressive enhancement' })).toBeVisible()
|
||||
})
|
||||
|
||||
test('task search and status interaction work', async ({ page }) => {
|
||||
await page.getByLabel('Primary navigation').getByRole('button', { name: /All tasks/ }).click()
|
||||
await page.getByLabel('Search tasks').fill('Firefox')
|
||||
const task = page.locator('.task-row').filter({ hasText: 'Run Firefox regression suite' })
|
||||
await expect(task).toBeVisible()
|
||||
await task.getByRole('button', { name: /complete run firefox/i }).click()
|
||||
await expect(task).toHaveClass(/complete/)
|
||||
})
|
||||
|
||||
test('required viewport has no page-level horizontal overflow', async ({ page }) => {
|
||||
const dimensions = await page.evaluate(() => ({ scrollWidth: document.documentElement.scrollWidth, clientWidth: document.documentElement.clientWidth }))
|
||||
expect(dimensions.scrollWidth).toBeLessThanOrEqual(dimensions.clientWidth)
|
||||
await expect(page.locator('.topbar')).toBeVisible()
|
||||
await expect(page.locator('.dashboard-grid')).toBeVisible()
|
||||
})
|
||||
Reference in New Issue
Block a user