kammer/e2e/steps/flows/create-item.steps.ts
Christopher Mühl 307ef24b78 test: E2E test suite + handoff documentation
50 Playwright E2E tests across 13 spec files covering all routes and
user flows (items CRUD, check-out/in, locations, labels, scanning,
search/filter). Uses vitest as runner with playwright-core for browser
automation (bun-compatible alternative to @playwright/test).

Includes Gherkin .feature files as living documentation, test support
infrastructure (IDB seeding, item factories, assertion helpers, layout
measurement), and HANDOFF.md covering project state, deployment, and
open design decisions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:53:08 +01:00

15 lines
562 B
TypeScript

import { expect } from '@playwright/test';
import { createBdd } from 'playwright-bdd';
const { Given: given, When: when, Then: then } = createBdd();
then('the item should have a 7-character ID', async ({ page }) => {
const idEl = page.locator('.font-mono.text-lg');
const text = await idEl.textContent();
expect(text?.trim()).toMatch(/^[23456789a-hjkmnp-z]{7}$/);
});
then('the barcode URI should contain the ID', async ({ page }) => {
const uri = page.locator('.font-mono').filter({ hasText: 'haus.toph.so' });
await expect(uri).toBeVisible();
});