fix: resolve final workbench review findings

This commit is contained in:
2026-07-19 20:20:09 +08:00
parent 43d0b9f049
commit 27ff659c30
12 changed files with 172 additions and 30 deletions

View File

@@ -25,6 +25,18 @@ test('login and project channel workbench flow', async ({ page }) => {
await expect(page.getByText('Open external channel')).toBeVisible();
});
test('rejects malformed server addresses', async ({ page }) => {
await page.goto('/');
await page.getByLabel('Server IP or domain').fill('https://user:secret@example.com');
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.getByText('Enter a valid HTTP or HTTPS server address.')).toBeVisible();
await expect(page.getByLabel('Server IP or domain')).toBeVisible();
});
test('mobile workbench keeps project navigation and inspector compact', async ({ page }) => {
await page.setViewportSize({ width: 390, height: 844 });
await page.goto('/');
@@ -43,6 +55,12 @@ test('mobile workbench keeps project navigation and inspector compact', async ({
await expect(rail).toHaveCSS('max-height', '76px');
await expect(inspector).toHaveCSS('max-height', '288px');
const workPlan = page.getByRole('button', { name: 'Work Plan 8' });
await expect(workPlan).toBeVisible();
await expect(workPlan).toBeInViewport();
await workPlan.click();
await expect(page.getByRole('heading', { name: 'Tasks' })).toBeVisible();
const [sidebarBox, stageBox] = await Promise.all([sidebar.boundingBox(), stage.boundingBox()]);
expect(sidebarBox?.y).toBeLessThan(stageBox?.y ?? 0);
expect((stageBox?.y ?? 0) - (sidebarBox?.y ?? 0)).toBeLessThanOrEqual(248);