[ 
https://issues.apache.org/jira/browse/FLINK-40601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martijn Visser reassigned FLINK-40601:
--------------------------------------

    Assignee: Purushottam Sinha

> Web dashboard: finish Vitest coverage for core services and job-detail drawer
> -----------------------------------------------------------------------------
>
>                 Key: FLINK-40601
>                 URL: https://issues.apache.org/jira/browse/FLINK-40601
>             Project: Flink
>          Issue Type: Technical Debt
>          Components: Runtime / Web Frontend
>            Reporter: Purushottam Sinha
>            Assignee: Purushottam Sinha
>            Priority: Minor
>              Labels: pull-request-available
>
> FLINK-40117 and FLINK-40600 added Vitest specs for the highest-traffic web 
> dashboard views, but the bulk of the dashboard's controller logic was still 
> untested (at the start, 67 of 102 testable source files had zero spec 
> coverage). This ticket adds specs for the remaining views and services that 
> carry real logic.
> Delivered in [PR#29138|https://github.com/apache/flink/pull/29138] (29 new 
> spec files):
> * Core services: {{config}}, {{overview}}, {{status}}, {{job-manager}}, and 
> {{job}} (task-state normalization, plan/stream-graph conversion, accumulator 
> merge, desired-parallelism update, refresh stream).
> * The job-detail drawer tree under {{pages/job/overview/*}}: accumulators, 
> backpressure, chart, detail, flamegraph, subtasks, taskmanagers, watermarks.
> * JobManager pages: log, stdout, thread-dump, profiler.
> * TaskManager pages: stdout, thread-dump, profiler (the siblings of the 
> JobManager pages; {{logs}}/{{metrics}}/{{list}} already had specs from 
> FLINK-40117).
> * Local stores: the {{job-local}} and {{application-local}} services 
> (latest-detail replay and the paired job-with-vertex stream).
> * Page shells: the job/application list shells and the job/application detail 
> shells.
> * The metric chart card and its resize service, and the job submission page.
> Components that fetch through services in {{ngOnInit}} or embed 
> chart/graph/editor children are constructed directly and driven through their 
> lifecycle/methods, so the controller logic is exercised without rendering 
> children jsdom cannot draw.
> Deliberately out of scope: {{dagre.component.ts}} and 
> {{flame-graph.component.ts}} are pure g6/d3 rendering with no controller 
> logic that can be meaningfully asserted without a real DOM, and the 
> presentational long tail (badges, thin directives, status/addon 
> sub-components) is not worth per-component specs. These are intentional 
> skips, not remaining work.
> Verification: {{npx ng test --watch=false}} in 
> {{flink-runtime-web/web-dashboard}} runs 62 spec files / 248 tests (up from 
> 33/139 on master); {{npm run lint}} and prettier are clean.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to