Files
ozone-tech_owl_prime/e2e/controls.spec.ts
Даня Архипов acc59ec912 feat: finish Stage 2B continuous sorter realism and local deploy
Unify CAD conveyor on / and /details, add RealSense D435i + contact paddle
physics, keep items moving through scan, lock 7×10 drop validation, and
ship Stage 2 artifacts with production on :3100 (permanent HTTPS still blocked).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:00:09 +00:00

47 lines
1.7 KiB
TypeScript

import { test, expect } from '@playwright/test';
import { dismissFinished, ensurePaused, ensureRunning, openPausedCase } from './helpers';
test.describe('controls', () => {
test.setTimeout(90_000);
test.beforeEach(async ({ page }) => {
await openPausedCase(page, 0, '1');
});
test('seek next/prev and jump cases, speed, presentation', async ({ page }) => {
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
await page.getByTestId('demo-next').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('2/11');
await page.getByTestId('demo-prev').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
await page.getByTestId('demo-case-8').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('9/11');
await page.getByTestId('demo-case-0').click();
await ensurePaused(page);
await expect(page.getByTestId('demo-case-label')).toHaveText('1/11');
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();
await page.goto('/?debug=1');
await ensureRunning(page);
});
});