feat: ship production deploy, Playwright e2e, and agent implementer
Add Docker atomic deploy tooling, CI, Playwright smoke/visual suite, shared industrial theme, physics invariants, quality-mode wiring, and a worktree-isolated agent implementer MVP with hard safety limits. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
38
e2e/controls.spec.ts
Normal file
38
e2e/controls.spec.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
|
||||
test.describe('controls', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/');
|
||||
await expect(page.locator('canvas')).toBeVisible({ timeout: 60_000 });
|
||||
await expect(page.getByTestId('demo-hud')).toBeVisible();
|
||||
});
|
||||
|
||||
test('seek next/prev and jump cases, speed, presentation', async ({ page }) => {
|
||||
await expect(page.getByTestId('demo-case-label')).toHaveText('1/10');
|
||||
|
||||
await page.getByTestId('demo-next').click();
|
||||
await expect(page.getByTestId('demo-case-label')).toHaveText('2/10');
|
||||
|
||||
await page.getByTestId('demo-prev').click();
|
||||
await expect(page.getByTestId('demo-case-label')).toHaveText('1/10');
|
||||
|
||||
await page.getByTestId('demo-case-8').click();
|
||||
await expect(page.getByTestId('demo-case-label')).toHaveText('9/10');
|
||||
|
||||
await page.getByTestId('demo-case-0').click();
|
||||
await expect(page.getByTestId('demo-case-label')).toHaveText('1/10');
|
||||
|
||||
for (const speed of ['0.5', '1', '1.5', '2'] as const) {
|
||||
await page.getByTestId(`demo-speed-${speed}`).click();
|
||||
await expect(page.getByTestId(`demo-speed-${speed}`)).toHaveClass(/active/);
|
||||
}
|
||||
|
||||
await page.getByTestId('demo-presentation').click();
|
||||
await expect(page.getByTestId('demo-hud')).toBeHidden();
|
||||
await expect(page.locator('.presentation-exit')).toBeVisible();
|
||||
|
||||
await page.locator('.presentation-exit').click();
|
||||
await expect(page.getByTestId('demo-hud')).toBeVisible();
|
||||
await expect(page.getByTestId('demo-presentation')).toBeVisible();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user