You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Martijn Visser (Jira)" <ji...@apache.org> on 2026/09/08 17:38:00 UTC

[jira] [Resolved] (FLINK-40117) Web dashboard: extend Vitest smoke-test coverage to remaining high-traffic views

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

Martijn Visser resolved FLINK-40117.
------------------------------------
    Fix Version/s: 2.4.0
       Resolution: Fixed

Fixed in apache/flink:master 7ebd1522f77d24f78209085bea539d91d2c6a3c6

> Web dashboard: extend Vitest smoke-test coverage to remaining high-traffic views
> --------------------------------------------------------------------------------
>
>                 Key: FLINK-40117
>                 URL: https://issues.apache.org/jira/browse/FLINK-40117
>             Project: Flink
>          Issue Type: Technical Debt
>          Components: Runtime / Web Frontend
>            Reporter: Purushottam Sinha
>            Assignee: Purushottam Sinha
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 2.4.0
>
>
> Problem                                                                                                                                                                                                        
> FLINK-40035 (PR apache/flink#28610) introduced the Vitest test infra for flink-runtime-web/web-dashboard — jsdom, the @angular/build:unit-test builder, tsconfig.spec.json, and src/test-setup.ts with the ng-zorro/CDK stubs (matchMedia, ResizeObserver, IntersectionObserver). That PR only added smoke specs for 3 components: the Overview statistic cards, the Task Manager list, and the Job Exceptions view. Every other page in the dashboard still has zero automated coverage and relies on manual click-through during framework upgrades.                                                                                    
>                                                                                                                                                                                                                  
> Evidence                                                                                                                                                                                                       
>   - Specs exist only for: overview/statistic, task-manager/list, job/exceptions                                                                                                                                  
>   - 11 sibling views have no *.spec.ts: job/overview, job/checkpoints, job/timeline, job/dataskew, job/rescales, job/configuration, task-manager/metrics, task-manager/logs, application/overview,               
>   application/exceptions, job-manager/metrics                                                                                                                                                                    
>   - ci-check already runs test:ci in the Maven build, so a new spec needs no extra CI wiring                                                                                                                     
>                                                                                                                                                                                                                  
> Proposed fix                                                                                                                                                                                                   
>   - Add one smoke spec per view above: component renders, key bindings populate from a mocked service response                                                                                                   
>   - Order: job/overview (DAG graph) and job/checkpoints first, then job/timeline + application/*, then the remaining task-manager/job-manager sub-pages                                                          
>   - Reuse the TestBed.configureTestingModule + useValue + vi.fn() mocking pattern from the 3 existing specs                                                                                                      
>   - For lazy ng-zorro tabs, call the component method directly (e.g. navigateTo(...)) instead of clicking through the DOM, per FLINK-40035's review fix                                                          
>                                                                                                                                                                                                                  
> Acceptance                                                                                                                                                                                                     
>   - npm run test:ci gains one passing spec per prioritized view, starting with job/overview and job/checkpoints                                                                                                  
>   - Suite runtime stays low enough not to threaten ci-check's gate on the Maven build                                                                                                                            
>   - New specs are colocated and named *.component.spec.ts, matching FLINK-40035



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