Azure-Samples / Azure-Samples/tutor

[P1] platform: Add platform-wide frontend E2E coverage

Open
#223 2 comments 0 reactions 0 assignees View on GitHub
component:ci-cd frontend priority:P1 type:tech-debt
Dominant language
Python
Stars
17
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Problem inventory
The repo does not yet have a platform-wide browser E2E gate that proves the mature UI and APIM-backed flows work together from the user perspective.

Type: tech debt / regression prevention

## Evidence
- frontend/package.json has dev, build, start, lint, and format scripts, but no e2e/test script.
- No Playwright configuration was found in frontend.
- docs/modernization-plan.md still lists integration tests that exercise APIM routes for all apps domains as a remaining action.
- The user requirement is to guarantee everything is working well end-to-end, not only compile.

## Impact assessment
User impact: critical/high. Without browser E2E coverage, old UI regressions, broken links, APIM route mismatches, and unavailable feature flows can pass local lint/build.
Blast radius: cross-service frontend, CI/CD, APIM route contracts, and backend readiness signals.

## Acceptance criteria
- [ ] Add Playwright configuration and package scripts under frontend, using pnpm and Node 22.
- [ ] Cover public front door routes: /, /programs, /evidence-trust, /institutions, /sign-in if present.
- [ ] Cover role workspace shell routes for student, professor, supervisor/principal, admin, and alumni, including role/context switching where feasible.
- [ ] Cover core user flows with stable mocked network fixtures or test environment contracts: chat, essays submission/history, questions answering/admin, configuration, upskilling, evaluation, LMS gateway, avatar/settings.
- [ ] Validate all primary navigation links resolve without 404s or unexpected client errors.
- [ ] Include accessibility-oriented assertions for labels, focus, status messages, and keyboard operability on key flows; automated checks should align with WCAG 2.2 AA where feasible.
- [ ] Add CI wiring or a documented command path so the E2E suite can run consistently before merge.
- [ ] Existing backend tests and frontend lint/build remain green.

## Agent assignment
Primary specialist: PlatformEngineer
Supporting specialist: TypeScriptDeveloper
UI/accessibility validation: UIDesigner

## Dependency notes
Depends on route mapping from the ADR-007 feature issue for complete route inventory. Can begin by adding infrastructure and smoke tests for currently stable routes.

## Related backlog
- #161 is supervisor-specific E2E coverage; this issue is the platform-wide browser gate.
- #165 pilot validation can consume the E2E results.

Contributor guide

Open the contributing guide

Research direction

Start with frontend/package.json and the route-mapping dependency from ADR-007, then review docs/modernization-plan.md for the remaining integration-test scope. Add Playwright setup, scripts, stable route and mocked-flow coverage, accessibility assertions, and CI or documented execution wiring. Done means the listed routes and flows are covered, navigation avoids 404s and client errors, and backend tests plus frontend lint/build remain green.

Written by the indexing model from the issue text.

Assessment

Tech stack
nodejs, playwright, typescript
Domain
ci-cd, frontend, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.