1.9 KiB
1.9 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | ||
|---|---|---|---|---|---|---|---|---|
| 03-duplicate-e2e | Add the E2E duplicate flow | done | 3 |
|
plan.md | ../../specs/agents/requirements/profile-duplicate.md |
Task 03: E2E duplicate flow
Acceptance
- An E2E spec (
agent-profile-duplicate.spec.ts) proves the user-facing flow: create a profile with distinctive settings viaapiClient, open/settings/agents, click its Duplicate button, and see a<name> Copyrow appear without a page reload. - The copy's profile page shows the copied settings (model / CLI flag / command prefix) matching the source.
- The spec cleans up both profiles in
finally.
Verification
cd apps/web && pnpm e2e:raw --grep "agent profile duplicate"(or the repo's E2E runner fortests/settings/agent-profile-duplicate.spec.ts).- Mobile parity: the new row button must be reachable at mobile widths; reuse the desktop spec unless a mobile-only interaction appears (the icon button sits outside the row link exactly like the existing switch, which already has mobile coverage patterns).
Files likely touched
apps/web/e2e/tests/settings/agent-profile-duplicate.spec.ts(new)apps/web/e2e/tests/settings/mobile-agent-profile-duplicate.spec.ts(new — mobile parity: Pixel 5 tap on the 44px row control, copy row appears, no horizontal overflow)
Dependencies
Tasks 01 and 02 (endpoint and UI must exist).
Parallelism
Sequential by default; may run in parallel with Task 02 only with explicit user authorization.
Inputs
- Spec duplicate scenarios
agent-profile-delete.spec.tsstructure (apiClient setup, testPage.goto, row assertions);apiClient.createAgentProfile/deleteAgentProfilehelpers;cleanupTestProfilesconvention.
Output contract
Report the passing E2E run (or the exact failure to investigate), cleanup
behaviour, changed files, and update this task plus plan.md status.