mengw15 opened a new issue, #6827:
URL: https://github.com/apache/texera/issues/6827

   ### Task Summary
   
   `WorkflowEditorComponent` sits at codecov ~62% (214 uncovered lines). Much 
of it drives the jointjs `dia.Paper` (genuinely browser-mode), so here the 
scope is the file's **non-rendering** slice — connection validation, clipboard, 
and element-delete/selection logic — which is unit-testable with a mocked 
graph/action service. Goal: **cover all of that non-rendering logic** (the 
groups below plus any other handler that runs without a real Paper); the 
paper-event/pointer handlers are the only part left out. jsdom/Vitest; see 
`frontend/TESTING.md`.
   
   ### Behavior to add
   
   **WorkflowEditorComponent** 
(`frontend/src/app/workspace/component/workflow-editor/workflow-editor.component.ts`,
 codecov ~62% — EXTEND; cover all remaining non-rendering logic)
   
   - Connection validation: `validateOperatorConnection` / 
`validateJointOperatorConnection` — assert a link is allowed/rejected for 
representative source→target port pairs (same-operator, already-connected, port 
arity, type) using a mocked graph.
   - Clipboard: `handleElementCopy` / `handleElementCut` / `handleElementPaste` 
— assert copy/cut populate the buffer from the current selection and paste 
re-adds the elements via the action service (mock `WorkflowActionService`).
   - Delete / selection: `handleElementDelete` / `deleteElements` / 
`handleElementSelectAll` — assert the delete/select-all delegates to the action 
service with the highlighted ids.
   
   Drive each handler directly with mocked `WorkflowActionService` + 
`JointGraphWrapper` doubles; assert the delegated calls / buffer state.
   
   Out of scope (need the real `dia.Paper` / pointer geometry — browser-mode): 
`handlePaperZoom` / `handlePaperPan` / `handlePointerEvents` / 
`handleLinkCursorHover` / `handleLinkBreakpoint*` and the other paper-event 
handlers.
   
   ### Task Type
   
   - [ ] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [x] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [ ] Other
   
   


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