test(frontend): cover five small service and component gaps - #7988
Open
aglinxinyuan wants to merge 1 commit into
Open
test(frontend): cover five small service and component gaps#7988aglinxinyuan wants to merge 1 commit into
aglinxinyuan wants to merge 1 commit into
Conversation
Five files, each only 3-4 lines alone: +15 fully-covered lines and +12 branch arms, measured over the whole suite on both sides so there is no false attribution. The one worth pointing at is workflow-util.service.ts, where five of eighteen functions had zero calls -- four zero-caller methods plus a map lambda -- behind a 94.6% line figure. Fourth time in this campaign the function counter found what the line counter hid. 38 mutations, all killed. The first pass claimed 22 killed and every test individually proven; at least ten semantic mutants were alive against it. One survivor appeared during the repair -- the Enter-key twin of a creatorName hole -- and was fixed rather than dropped. Three dead regions are left alone and named, since a mutant there would survive vacuously.
Contributor
Automated Reviewer SuggestionsBased on the
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7988 +/- ##
============================================
+ Coverage 93.14% 93.18% +0.04%
Complexity 4654 4654
============================================
Files 1174 1174
Lines 47580 47580
Branches 5316 5316
============================================
+ Hits 44318 44339 +21
+ Misses 1785 1772 -13
+ Partials 1477 1469 -8
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this PR?
Five small frontend gaps, bundled because each is only 3-4 lines alone.
Measured with the whole frontend suite on both sides — no
--includeand no name filter, so there is no false attribution — readingfrontend/coverage/gui/lcov.info. The before state was the five specs restored to HEAD viagit show HEAD:<exact single path>, hash-verified against scratch copies.workflow-util.service.tsbreakpoint-condition-input.component.tsworkflow-version.service.tsuser-config.service.tsnz-modal-comment-box.component.html+15 fully-covered lines and +12 branch arms.
The one worth pointing at is
workflow-util.service.ts: five of its eighteen functions had zero calls — four zero-caller methods plus a map lambda — behind a 94.6% line figure. That is the fourth time in this campaign the function counter found a gap the line counter hid.Verification
38 mutations, all 38 killed, every one dying on behaviour rather than a compile error (a
junit.xmlwas produced on all 38 runs, so the bundle compiled every time).The first draft claimed "all 22 mutants killed, every one of the 17 new tests individually mutation-proven". At least ten semantic mutants were alive against it.
One survivor appeared during this pass and was fixed rather than dropped: the Enter-key twin of a
creatorName-argument hole survived 26/26 after the first repair, because only the button path had been hardened. Both paths are now pinned.Three of the first draft's claims were corrected:
[disabled]guards. Reading the raw records shows it did not.TestBed.inject, before any assertion runs.Deliberately not included
Three regions are dead, and no mutant was attempted in them because one would survive vacuously:
workflow-version.service.ts's else-arms at lines 174 and 198, anduser-config.service.ts's privateupdateEntryguards.One measurement subtlety is worth recording because it makes two honest counts disagree by one: for a multi-line statement in
breakpoint-condition-input.component.ts, lcov emitsBRDA:59,...with noDA:59— that statement's line record isDA:58. A DA-restricted count reads 3 → 0 and a union count reads 4 → 0. Both reach zero, so the conclusion is unaffected, but the rule needs stating.No production file is touched. The worktree used a real yarn install, not a
node_modulesjunction — a junction is what emptied the main checkout's dependencies twice earlier in this campaign, since a recursive delete follows it and also reaches through yarn's portal link intofrontend/tools/jschardet-stub.Any related issues, documentation, discussions?
Closes #7986
How was this PR tested?
yarn format:cipasses.frontend/junit.xmlandfrontend/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)