lablup / lablup/backend.ai-webui
Add E2E regression coverage for app launch options through intermediate modals
- Dominant language
- TypeScript
- Stars
- 133
- Forks
- 81
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 355
Description
## Summary
FR-3343 fixed `open_to_public` / `allowed_client_ips` / `port` being dropped when launching apps that go through an intermediate modal (TensorBoard path modal, nniboard / mlflow-ui confirmation modal). Copilot review on PR #8327 pointed out that current E2E coverage cannot catch this class of regression:
- `e2e/app-launcher/app-launcher-launch.spec.ts` only asserts proxy parameters on the direct `ttyd` path, and only negatively (asserts the params are absent when options are unset).
- There is no positive test that sets "Open app to public", allowed client IPs, and a preferred port, then asserts the proxy `/add` request carries `open_to_public=true`, `allowed_client_ips`, and `port`.
- The AppLauncherModal E2E helper class has no methods for the option checkboxes/inputs or the follow-up modals.
## Scope
1. Extend the `AppLauncherModal` helper with option controls (open-to-public checkbox, client IPs input, preferred port input) and follow-up modal interactions (TensorBoard path submit, confirmation modal confirm).
1. Positive direct-path test: launch with all options set, assert all three proxy parameters (Test Plan §5.2).
1. TensorBoard path: set options → click tensorboard → submit path modal → assert parameters survive (requires session image exposing the tensorboard service port; gate with `@requires-app-tensorboard`).
1. Confirmation path: same for nniboard / mlflow-ui (gate with appropriate `@requires-app-*` tags; these may only be testable via preopen ports).
## References
- PR #8327 Copilot comments (regression-coverage requests)
- `e2e/AppLauncher-Test-Plan.md` §5.2 — scenarios already documented but unimplemented
- FR-3343 — the regression this coverage should prevent from recurring
JIRA Issue: FR-3345
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with e2e/app-launcher/app-launcher-launch.spec.ts and the AppLauncherModal helper, then read e2e/AppLauncher-Test-Plan.md §5.2. Run the existing app-launcher E2E tests to understand the direct path and add helper interactions for the option controls and intermediate modals. Done means positive assertions verify open_to_public, allowed_client_ips, and port survive the direct, TensorBoard, and confirmation paths under their required-app gates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100