✨feature: Initial MVP
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
const { test, expect } = require('@playwright/test');
|
||||
|
||||
test.describe('IronKanban smoke', () => {
|
||||
test('loads the demo board and core UI sections', async ({ page }) => {
|
||||
await page.goto('/?project=demo-project');
|
||||
|
||||
await expect(page.getByRole('heading', { name: 'IronKanban' })).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: 'Demo Project' })).toBeVisible();
|
||||
await expect(page.locator('#board-columns .column')).toHaveCount(4);
|
||||
await expect(page.locator('#trash-panel')).toBeVisible();
|
||||
await expect(page.locator('#notes-panel')).toBeVisible();
|
||||
});
|
||||
|
||||
test('toggles notes and opens existing note and task dialogs', async ({ page }) => {
|
||||
await page.goto('/?project=demo-project');
|
||||
|
||||
const notesToggle = page.getByRole('button', { name: /Show Notes \(\d+\)/ });
|
||||
await notesToggle.click();
|
||||
await expect(page.getByRole('button', { name: /Hide Notes \(\d+\)/ })).toBeVisible();
|
||||
await expect(page.locator('#notes-list .note-card')).toHaveCount(2);
|
||||
|
||||
await page.locator('#notes-list .note-card').first().click();
|
||||
await expect(page.locator('#note-dialog')).toBeVisible();
|
||||
await expect(page.locator('#note-form input[name="title"]')).not.toHaveValue('');
|
||||
await page.keyboard.press('Escape');
|
||||
await expect(page.locator('#note-dialog')).not.toBeVisible();
|
||||
|
||||
await page.locator('#board-columns .task-card').first().click();
|
||||
await expect(page.locator('#task-dialog')).toBeVisible();
|
||||
await expect(page.locator('#task-form input[name="title"]')).not.toHaveValue('');
|
||||
await page.keyboard.press('Escape');
|
||||
await expect(page.locator('#task-dialog')).not.toBeVisible();
|
||||
});
|
||||
|
||||
test('toggles the trash section and shows trashed tasks', async ({ page }) => {
|
||||
await page.goto('/?project=demo-project');
|
||||
|
||||
const trashToggle = page.getByRole('button', { name: /Show Trash \(\d+\)/ });
|
||||
await trashToggle.click();
|
||||
|
||||
await expect(page.getByRole('button', { name: /Hide Trash \(\d+\)/ })).toBeVisible();
|
||||
await expect(page.locator('#trash-columns .task-card')).toHaveCount(1);
|
||||
await expect(page.locator('#trash-dropzone-meta')).toContainText('1 task');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user