EndâtoâEnd (E2E) UI Testing â Roadmap
This roadmap adds E2E UI coverage using Cypress (and compatible tools) so core user journeys stay green and gated in CI.
What kind of testing is this?
- Label: EndâtoâEnd (E2E) UI testing. Cypress also supports Component Testing, but this page focuses on full UI flows.
Goals
- Lock critical flows (open app, create/edit/delete project, downloads) with stable, fast E2E checks
- Run in GitHub Actions as a blocking gate on PRs and
main - Keep tests deterministic: fixtures, test IDs, and resilient selectors
Tooling
- Primary: Cypress (E2E mode)
- Consider: Playwright (parallel, autoâwait) for comparison or future migration
- Niceâtoâhave: Visual regression addâon (Percy/Applitools/Chromatic) for UI drift
Target flows (first wave)
- App boot + sidebar visible
- Projects: create â edit â delete persists to
svg2icon.json - Downloads: web/mobile/desktop/all produce expected folders/files
- Settings: theme toggle persists
Milestones
- Add Cypress with basic project scaffolding and CI task
- Introduce stable test IDs in UI where needed
- Land smoke tests for sidebar + project CRUD
- Add download assertions (ZIP names/files present)
- Parallelize/spec split for speed; add flakyâtest heuristics
Electron notes
- Renderer UI can be exercised in a browser context; for Electronâonly behavior, use thin IPC shims or a minimal Electron launcher per spec
- Use a temporary userData directory during tests to avoid polluting dev/prod data
Prefer highâsignal E2E specs that mirror real usage. Keep them few, fast, and reliable; push detailed logic into unit/integration tests.
