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]
