Skip to content

test(e2e): add EPIC-04 household items E2E test coverage#491

Merged
steilerDev merged 1 commit intobetafrom
test/4-epic04-household-items-e2e
Mar 6, 2026
Merged

test(e2e): add EPIC-04 household items E2E test coverage#491
steilerDev merged 1 commit intobetafrom
test/4-epic04-household-items-e2e

Conversation

@steilerDev
Copy link
Owner

Summary

Adds full Playwright E2E test coverage for EPIC-04 (Household Items & Furniture Management). Prior to this PR, the only E2E coverage for household items was a single stub smoke test verifying the page loaded. EPIC-04 is now fully implemented across 4 pages (list, create, detail, edit), so this PR brings E2E coverage in line with the rest of the application.

Coverage added (80+ tests across 4 spec files)

e2e/tests/household-items/household-items-list.spec.ts (Stories 4.3, 4.8)

  • Page load with h1 "Household Items"
  • "New Item" button navigation
  • Empty state (mocked)
  • Filter empty state (search no match)
  • Item appears in list after API creation
  • Search filtering
  • Category filter
  • Status filter
  • Status badge rendering (planned/purchased/scheduled/arrived)
  • Delete modal — confirm removes item
  • Delete modal — cancel leaves item
  • Pagination with mocked response
  • Responsive (no horizontal scroll)
  • Mobile: card view visible
  • Desktop: table visible
  • Dark mode rendering
  • Filter panel accessible role="search" landmark

e2e/tests/household-items/household-item-create.spec.ts (Story 4.4)

  • Page load with h1 "New Household Item"
  • Back button navigation
  • All form fields visible
  • Create with name only — happy path, redirect to detail
  • Create with all major fields
  • Validation error on empty name
  • Category select options (all 8 categories)
  • Status select options (all 4 statuses)
  • Cancel navigation
  • Responsive + dark mode

e2e/tests/household-items/household-item-detail.spec.ts (Stories 4.5, 4.6, 4.7, 8.6, 4.8)

  • Page load with item name as heading
  • Breadcrumb link navigation
  • Edit button navigation
  • Budget section visible (Story 4.6)
  • "Add Budget Line" button visible
  • Documents section heading (Story 8.6)
  • "+ Add Document" button disabled when Paperless not configured
  • "Not configured" banner shown
  • #documents-section-title accessible heading
  • 404/error state for non-existent ID
  • Responsive + dark mode

e2e/tests/household-items/household-item-edit.spec.ts (Story 4.4)

  • Edit page heading
  • Save/Cancel buttons visible
  • Form pre-populated with existing item data
  • Back button navigates to detail
  • Save changes — happy path
  • Validation error on cleared name
  • 404 state for non-existent item
  • Responsive

Supporting changes

  • e2e/pages/HouseholdItemsPage.ts: Fully rewritten from stub POM to production-ready POM with all locators, search/filter methods, delete modal helpers, pagination helpers
  • e2e/pages/HouseholdItemCreatePage.ts: New POM for /household-items/new
  • e2e/pages/HouseholdItemDetailPage.ts: New POM for /household-items/:id
  • e2e/fixtures/apiHelpers.ts: Added createHouseholdItemViaApi / deleteHouseholdItemViaApi
  • e2e/fixtures/testData.ts: Added API.householdItems and ROUTES.householdItemsNew constants
  • e2e/tests/navigation/stub-pages.spec.ts: Removed household items stub test (page graduated to full feature — EPIC-04)

Coverage Matrix

Story Feature E2E Covered
4.1 Schema & Migration N/A (backend only)
4.2 CRUD API Via API helpers in all tests
4.3 List Page household-items-list.spec.ts
4.4 Create & Edit Form household-item-create.spec.ts, household-item-edit.spec.ts
4.5 Detail Page household-item-detail.spec.ts
4.6 Budget Integration household-item-detail.spec.ts (budget section visible + Add Budget Line)
4.7 Work Item Linking household-item-detail.spec.ts (page loads without error; deep interaction via unit tests)
4.8 Responsive & A11y All spec files tagged @responsive
4.9 Invoice Linking household-item-detail.spec.ts (page loads)
4.10 Timeline Dependencies household-item-detail.spec.ts (page loads)
8.6 Document Linking household-item-detail.spec.ts (Documents section, disabled state)

Test plan

  • CI sharded E2E suite passes on beta
  • Smoke tests (@smoke tag) pass: list page load, create redirect
  • Responsive tests across desktop/tablet/mobile viewports

🤖 Generated with Claude Code

Adds full Playwright E2E test coverage for EPIC-04 (Household Items &
Furniture Management) which was previously only covered by a stub smoke
test. The household items pages are now fully implemented.

Changes:
- New e2e/tests/household-items/ directory with 4 spec files (80+ tests):
  - household-items-list.spec.ts: list page, filters (category/status/room),
    search, status badges, CRUD, pagination, responsive, dark mode, a11y
  - household-item-create.spec.ts: create form, validation, navigation,
    field options, responsive, dark mode
  - household-item-detail.spec.ts: detail page, budget section, documents
    section (Story 8.6), responsive, dark mode, 404 state
  - household-item-edit.spec.ts: edit form, pre-population, save flow,
    validation, navigation, responsive

- New POMs:
  - e2e/pages/HouseholdItemCreatePage.ts — fully modelled create form
  - e2e/pages/HouseholdItemDetailPage.ts — detail page locators
  - e2e/pages/HouseholdItemsPage.ts — upgraded from stub to full POM

- Updated fixtures:
  - e2e/fixtures/apiHelpers.ts — add createHouseholdItemViaApi/
    deleteHouseholdItemViaApi helpers
  - e2e/fixtures/testData.ts — add API.householdItems and
    ROUTES.householdItemsNew constants

- Removed stub test for Household Items from stub-pages.spec.ts
  (page has graduated to full feature — EPIC-04)

Co-Authored-By: Claude qa-integration-tester (Sonnet 4.6) <noreply@anthropic.com>
@steilerDev steilerDev merged commit 3a7afce into beta Mar 6, 2026
11 checks passed
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

🎉 This PR is included in version 1.12.0-beta.50 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants