PG1204 opened a new pull request, #5626:
URL: https://github.com/apache/texera/pull/5626

   ### What changes were proposed in this PR?
   Addresses the two review comments on 
[#5318](https://github.com/apache/texera/issues/5318)'s follow-up 
implementation:
   
   1. Share a common TestBed setup so the jsdom and browser specs don't drift.
   
   The .browser.spec.ts split created two TestBed configurations for the same 
component - one in workflow-editor.component.spec.ts (External Module 
Integration describe), one in workflow-editor.browser.spec.ts. Both configured 
nearly identical imports/providers arrays, which would inevitably drift over 
time.
   Extracted them into a new sibling file workflow-editor.test-utils.ts 
exporting two arrays:
   
   
   export const workflowEditorTestImports = [ ... ];
   export const workflowEditorTestProviders: Provider[] = [ ... ];
   This follows the existing project convention in 
[frontend/src/app/common/testing/test-utils.ts](vscode-webview://1epki5h79lmkghv36u4evg54fuvmk17ndjca203mcg7opnnd5sg9/frontend/src/app/common/testing/test-utils.ts)
 (which exports commonTestImports and commonTestProviders the same way). Each 
spec's TestBed now collapses to:
   
   
   await TestBed.configureTestingModule({
     imports: workflowEditorTestImports,
     providers: workflowEditorTestProviders,
   }).compileComponents();
   Adding or removing a service from either spec's setup is now a single edit 
in one file.
   
   2. Drop the explicit workflow-editor.component.spec.ts entry from the 
test-browser include in angular.json.
   
   With the six mouse-event tests now living in workflow-editor.browser.spec.ts 
(picked up by the **/*.browser.spec.ts glob), the explicit listing of 
workflow-editor.component.spec.ts in test-browser's include array was causing 
the file's 25 jsdom-friendly tests to run twice — once in jsdom (the default 
test target) and once in real Chrome (the test-browser target). Removed that 
explicit entry; the test-browser target now picks up only **/*.browser.spec.ts 
files.
   
   Scope note. The pre-existing JointJS Paper describe block at the top of 
workflow-editor.component.spec.ts has its own deliberately-different TestBed 
setup (ContextMenuComponent instead of NzModalCommentBoxComponent, Overlay, 
MockComputingUnitStatusService) and was left untouched — it wasn't part of the 
duplication introduced by the .browser.spec.ts split.
   
   ### Any related issues, documentation, discussions?
   Addresses review feedback on the follow-up PR for 
[#5318](https://github.com/apache/texera/issues/5318).
   Closes #5318 
   
   ### How was this PR tested?
   Existing test runs: Verified no test-count regressions in either target, and 
the double-run is gone:
   
   ng test (jsdom, full suite): 947 pass / 0 fail / 2 skipped / 1 todo across 
103 files
   ng run gui:test-browser: 13 pass / 0 fail across 2 files (6 from 
workflow-editor.browser.spec.ts + 7 from the pre-existing 
code-editor.component.browser.spec.ts)
   workflow-editor.component.spec.ts under jsdom: 25/25 pass (unchanged from 
before this PR)
   Browser test count dropped from 38 -> 13, confirming the 25 jsdom-friendly 
tests in workflow-editor.component.spec.ts no longer double-run in real Chrome.
   
   Static checks: tsc --noEmit and eslint clean on all four changed files.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   Co-authored-by: Claude Code (Anthropic Claude Opus 4.7)


-- 
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]

Reply via email to