Skip to content

test: establish UI/UX release testing for 1.0.0 #956

Description

@giemic8

Problem

Trufos needs a repeatable UI/UX quality gate before the 1.0.0 release. Existing Vitest and Testing Library coverage does not exercise the packaged Electron application, cross-process user journeys, accessibility, or visual regressions.

Proposed solution

Establish an initial UI/UX release-testing stack:

  • add Playwright-based Electron end-to-end infrastructure
  • isolate every E2E run with temporary user data
  • cover critical smoke journeys for application startup, request creation/sending, persistence, settings, themes, and representative error states
  • integrate automated accessibility checks for key renderer views
  • add stable visual regression baselines for key light and dark views
  • capture traces, screenshots, and videos on failures
  • run UI/UX checks in GitHub Actions on Linux
  • document exploratory UX scenarios and a manual 1.0.0 release checklist

Prefer accessible selectors (roles, labels, visible names). Add test IDs only where no stable user-facing selector exists.

Initial delivery scope

  1. Test harness and scripts
  2. 5–8 critical Electron smoke tests
  3. Accessibility scans for main views
  4. 6–10 visual baselines
  5. CI integration and failure artifacts
  6. Manual UX/release checklist

Acceptance criteria

  • E2E test command launches the Electron app and uses isolated temporary state
  • Critical 1.0.0 user journeys have automated smoke coverage
  • Key views have automated accessibility checks with no critical or serious violations
  • Stable key views have light/dark visual regression coverage
  • Failed E2E runs retain useful diagnostics (trace and screenshot; video where practical)
  • GitHub Actions runs UI/UX checks in a reproducible Linux environment
  • Manual keyboard, zoom, screen-reader, and exploratory UX checks are documented
  • Existing unit/component tests continue passing
  • yarn test, yarn lint, and yarn prettier-check pass

UX study scenarios

  • Import a Postman collection
  • Send a request containing an environment variable
  • Configure authentication
  • Save and reopen a request
  • Understand an unreachable-server error

Record completion, time, errors/misclicks, questions, and perceived difficulty.

Alternatives considered

  • Component tests only: too little confidence across Electron IPC and persistence boundaries
  • Full visual coverage: too costly and brittle for initial 1.0.0 gate
  • Manual testing only: not repeatable enough for release regression protection

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions