spuru9 opened a new pull request, #29138:
URL: https://github.com/apache/flink/pull/29138
## What is the purpose of the change
Follow-up to FLINK-40117 and FLINK-40600, which added Vitest specs for the
high-traffic web dashboard views. This fills the remaining coverage gaps: at
the start, 67 of 102 testable source files
(components/services/pipes/directives/guards) had no spec. This adds specs for
the core services, the job-detail drawer views, the JobManager pages, the
list/detail page shells, and the job chart and submit page.
## Brief change log
24 new spec files, grouped into four commits:
- **Core services**: `config`, `overview`, `status`, `job-manager`, and
`job` services (task-state normalization, plan/stream-graph conversion,
accumulator merge, desired-parallelism update, and the refresh stream).
- **Job-detail drawer views** (`pages/job/overview/*`): accumulators,
backpressure, chart, detail, flamegraph, subtasks, taskmanagers, watermarks.
- **JobManager pages**: log, stdout, thread-dump, and profiler (mirroring
the existing TaskManager specs).
- **Page shells**: the job/application list shells and the job/application
detail shells.
- **Job chart and submit**: the metric chart card and its resize service,
and the job submission page.
Components that pull in chart/graph/editor children or fetch through
services in `ngOnInit` are constructed directly and driven through their
lifecycle/methods, so the controller logic is exercised without rendering
children jsdom cannot draw.
`dagre.component` and `flame-graph.component` are intentionally left out:
they are pure g6/d3 rendering with no controller logic that can be meaningfully
asserted without a real DOM, so a jsdom smoke test there would not verify
anything useful.
## Verifying this change
This change adds tests and can be verified as follows:
- `npx ng test --watch=false` in `flink-runtime-web/web-dashboard`: 57
spec files / 232 tests pass (up from the 33 files / 139 tests on master).
- `npm run lint` and `npx prettier --check` are clean on all added files.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): no
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: no
- The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
- The S3 file system connector: no
## Documentation
- Does this pull request introduce a new feature? no
- If yes, how is the feature documented? not applicable
---
##### Was generative AI tooling used to co-author this PR?
- [X] Yes (please specify the tool below)
Generated-by: Claude Code (claude-sonnet-5)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]