The GitHub Actions job "Required Checks" on texera.git/main has succeeded. Run started by GitHub user github-merge-queue[bot] (triggered by github-merge-queue[bot]).
Head commit for run: 97e3585a6ac7aadbea629e7350a96d1a84f7b51c / Xinyuan Lin <[email protected]> test(frontend): cover the time-travel poller and the feedback component (#7992) ### What changes were proposed in this PR? Three small frontend components, measured from lcov with the same spec filter on both sides. | File | Codecov | lcov detail | |---|---|---| | `time-travel.component.ts` | 92.3% → **100%** | branches 20/22 → 22/22; functions 17/18 → 18/18 | | `feedback.component.ts` | 85.2% → **100%** | branches 14/17 → 17/17; functions 8/11 → 11/11 | | `feedback.component.html` | 83.3% → **100%** | branches 2/4 → 4/4; **functions 0/2 → 2/2** | | `repeat-dnd.component.html` | 86.4% → **95.5%** | one arm left deliberately — see below | | `repeat-dnd.component.ts` (incidental) | 90.9% → **100%** | branches 17/18 → 18/18 | **+14 fully-covered lines, +9 branch arms, +7 functions.** The template's function counter is the one to notice: `feedback.component.html` was at **zero of two functions covered** behind an 83% line figure. That is the fifth time in this campaign the function counter found what the line counter hid. `time-travel.component.ts`'s zero-hit lines 84-88 were the entire `ngOnInit` timer lambda body. **`port-property-edit-frame.component.ts` was in scope and is absent.** It is worth exactly zero: two of its three residual lines are dead Quill config and the third is unreachable in practice. No tests were added there and no mutations run. ### A production defect found while assessing it Chasing those two Quill lines turned up a real bug rather than coverage: the port-name editor's keyboard bindings use `key: 13`, which is **Quill 1 syntax that Quill 2 never dispatches**. So pressing Enter in the port-name editor inserts a newline into the shared display name instead of closing the editor. Reported, not pinned — pinning current behaviour would cement it. ### One arm left uncovered on purpose `repeat-dnd.component.html` line 48 is the **remove** button's `[disabled]="field.templateOptions?.disabled"`, and issue **#7431** records that the enclosing `*ngFor` shadows the outer `field`, so it never disables. That arm is deliberately not pinned. The assertion added in that spec is on the **add** button, and it carries a comment explaining why an absent `templateOptions` object must not read as disabled. ### Verification 28 mutations, **24 killed, 4 recorded.** The first draft's headline was false: it claimed "survivors: NONE, every one of the 14 new tests proven by a mutation actually applied and run". **Eight mutants survived it** — seven found by review plus one found here (deleting an `[nzLoading]` binding). All eight now die. Its survivor-to-mutation mapping was also wrong in one place: two separate mutations had been given the same number, so a kill was credited to the wrong row. The four recorded non-kills are: the #7431 arm above (refused), an equivalent mutant (`[nzData]="[...feedbackList]"` → `[nzData]="feedbackList"` — the spread produces an equal array), and two entries covering `port-property-edit-frame`, where no tests were added. One further correction worth making: `feedback.component.html` reaching 24/24 is **not** a quality claim on its own. At 24/24 the file is fully *executed*; what makes it constrained is the mutations, not the percentage. No production file is touched. The worktree used a real yarn install rather than a `node_modules` junction. ### Any related issues, documentation, discussions? Closes #7990 ### How was this PR tested? ``` npx ng test --watch=false --include="**/time-travel.component.spec.ts" --include="**/feedback.component.spec.ts" --include="**/repeat-dnd.component.spec.ts" ``` ``` Test Files 3 passed (3) ``` `yarn format:ci` passes. `frontend/junit.xml` and `frontend/coverage/` are regenerated by every run and are not committed. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 5) --------- Signed-off-by: Xinyuan Lin <[email protected]> Co-authored-by: Copilot Autofix powered by AI <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/33040829196 With regards, GitHub Actions via GitBox
