kammer/e2e/steps/pages/items-list.steps.ts
Christopher Mühl ba68fb456a 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

21 lines
817 B
TypeScript

import { expect } from '@playwright/test';
import { createBdd } from 'playwright-bdd';
const { Given: given, When: when, Then: then } = createBdd();
then('I should see {int} item cards', async ({ page }, count: number) => {
const cards = page.locator('button.bg-slate-800');
await expect(cards).toHaveCount(count);
});
when('I select category {string}', async ({ page }, category: string) => {
await page.locator('select').filter({ hasText: 'All Categories' }).selectOption(category);
});
when('I select type {string}', async ({ page }, type: string) => {
await page.locator('select').filter({ hasText: 'All Types' }).selectOption(type);
});
when('I select status {string}', async ({ page }, status: string) => {
await page.locator('select').filter({ hasText: 'All Status' }).selectOption(status);
});