Skip to content

[E2E] Playwright: Issues CRUD and archive flow (Sprint 3 integration) #127

@mpaulosky

Description

@mpaulosky

Summary

End-to-end Playwright test covering the full Issues CRUD happy path to validate that all Sprint 3 bug fixes work together in a running environment.

Test Scenarios

IssuesCrudFlow.cs (or .spec.ts if using TypeScript Playwright)

Scenario 1 — Create Issue

  1. Login as admin
  2. Navigate to Issues → Create Issue
  3. Fill in Title, Description, select a Category and Status
  4. Submit
  5. Assert: redirected to Issues list, new issue appears in the list
  6. Assert: issue detail shows correct Category and Status (validates [Bug] UpdateIssueCommand only updates Description — Title, Category, Status are dropped #117 fix)

Scenario 2 — Filter Issues

  1. On Issues list, type a search term in the search box
  2. Select a Status filter, select a Category filter
  3. Assert: only matching issues appear (validates [Bug] IssuesPage: Filter/search bar not wired to API #116 fix)
  4. Click "Clear" → all issues reappear

Scenario 3 — Edit Issue

  1. Click Edit on an existing issue
  2. Change Title, change Category, change Status (if field available)
  3. Submit
  4. Assert: issue detail shows updated Title and Category (validates [Bug] CreateIssueCommand drops CategoryId and StatusId from form #118 fix)

Scenario 4 — View Issue Detail / Comments Performance

  1. Navigate to an issue with known comments
  2. Assert: comment section loads and shows only comments for that issue
  3. (Performance regression guard — validates [Bug] IssueDetailPage: Comments fetched without issueId filter (performance) #119 fix)

Scenario 5 — Admin: Archive a Category

  1. Navigate to Categories as admin
  2. Click Archive on a non-system category
  3. Confirm dialog → confirm
  4. Assert: category removed from list

Setup Requirements

  • Use existing AppHost.Tests.E2E project structure
  • Follow existing LoginTests.cs or RegisterTests.cs for auth setup
  • Seed test data (a category + status + at least 2 issues) via test setup

Acceptance Criteria

  • All 5 scenarios pass in CI against the running AppHost
  • Tests are isolated (cleanup after each scenario)
  • No flakiness: retry once on timeout before failing

Depends On

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:yesReady to implementpriority:p2Next sprintrelease:backlogNot yet targetedsprint-3Sprint 3 — Full CRUD UI + ArchivesquadSquad triage inbox — Lead will assign to a membersquad:boromirAssigned to Boromir (DevOps)squad:legolasAssigned to Legolas (Frontend Dev)type:choreMaintenance, refactoring, cleanup

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions