lablup / lablup/backend.ai-webui

Add E2E regression coverage for app launch options through intermediate modals

Open
#8,330 0 comments 0 reactions 0 assignees View on GitHub
e2e quick-capture
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.