Repository navigation
test: cover GroupLinkStatus's plural arms and invalid-checkedAt guard - #1113
Merged
Merged
Conversation
Contributor
Author
|
Important Held for human review by the hive's ACMM level gate. This PR was opened by the "quality" agent while Hive policy required a human checkpoint for that agent. Non-outreach agents are held at ACMM L3–L5; the Hive will keep the |
This was referenced Oct 6, 2026
Closed
Closed
Closed
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 7, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Oct 7, 2026
src/components/GroupLinkStatus/index.js is the lowest-covered file in the
end-to-end report at 60% of regions. Three of its four uncovered regions
are reachable, and all three need a second build:
* line 7, formatDate's Number.isNaN guard, needs a checkedAt that does
not parse, which the real file never carries;
* lines 32-33, the plural arms of the drift warning, need two groups
drifting at once, while the ordinary coverage overlay appends exactly
one archived group.
Clearing checkedAt or emptying the list in the ordinary coverage build
would swap which arm renders rather than add a case, so the overlay goes
in tests/e2e/fixtures/data-variants/ and the variant site is asserted
beside the real one. The appended group drifts through reachable:false
rather than archived:true so the filter's second operand decides it, as a
link-check run that cannot reach a repository produces.
tests/e2e-data-fixtures.test.mjs used community-groups.json as the
contrast case for a file with no variant overlay, which this makes false.
case-studies.json takes that role: members.json is the other base-only
overlay, but open PR #1104 adds a members.json variant, so it would stop
being a contrast as soon as that lands.
Verified by building both sites locally with npm run build:e2e:coverage
and reading the rendered HTML. build/community: verification line dated
"September 23, 2026", singular "has an archived or unreachable upstream
repository", one group named, no plural. build/e2e-coverage-variant/
community: no verification line and no "Invalid Date", plural "have
archived or unreachable upstream repositories", both groups named. The
Playwright run itself was not executed here -- this sandbox has no
browser (chrome-headless-shell cannot load libglib-2.0.so.0 and there is
no root to install it), so CI is the first place the spec runs.
Line 23's `|| []` is deliberately left uncovered: reaching it means
clearing `groups` entirely, which stops the warning rendering at all.
Signed-off-by: quality <quality@hive.kubestellar.io>
case-studies.json gained a variant overlay in #1133, and members.json gains one in #1104; the architectures catalog is the remaining data file the ordinary coverage build overlays and the variant build does not. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
mrbobbytables
force-pushed
the
quality/test-group-link-status-plural
branch
from
October 7, 2026 12:57
edec11c to
c559946
Compare
4 tasks
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.
Test Improvement
src/components/GroupLinkStatus/index.jsis the lowest-covered file in theend-to-end report at 60.00% of regions. Three of its four uncovered
regions are reachable, and all three need a second build:
if (Number.isNaN(parsed.getTime())) return null;needs acheckedAtthat does not parse, which the real file never carries;stale.length === 1 ? 'has an' : 'have'and? 'repository' : 'repositories'need two groups drifting at once, whiletests/e2e/fixtures/data/community-groups.jsonappends exactly onearchived group.
Two groups drifting at once is an ordinary shape, not defensive dead code:
npm run check:community-group-linkssetsarchivedandreachableon everygroup independently.
Clearing
checkedAtor adding the second group in the ordinary coveragebuild would swap which arm renders rather than add a case, so this is a
variant-build case like
AwardsTimeline's provenance paragraph.Files
tests/e2e/fixtures/data-variants/community-groups.json(new) — appendsa second drifted group and makes
checkedAtunparseable. The appended groupdrifts through
reachable: falserather thanarchived: trueso thefilter's second operand decides it, as a link check that cannot reach a
repository produces.
tests/e2e/group-link-status-variant.spec.js(new) — pairs/communitywith
/e2e-coverage-variant/community. A separate spec file follows theprecedent of test: cover MetricsDashboard's single-point Sparkline arm end to end #1093 and test: cover DirectoryFreshness's unparseable-timestamp arms end to end #1104.
tests/e2e-data-fixtures.test.mjs— the one required edit. It usedcommunity-groups.jsonas the contrast case for a file with no variantoverlay, which this change makes false.
case-studies.jsontakes thatrole, not
members.json:members.jsonis the other base-only overlay,but open PR test: cover DirectoryFreshness's unparseable-timestamp arms end to end #1104 adds a
members.jsonvariant, so it would stop being acontrast the moment that lands.
Verification
Both sites were built locally with
npm run build:e2e:coverageand therendered HTML read directly:
Invalid Datebuild/communitybuild/e2e-coverage-variant/communitynode --test tests/e2e-data-fixtures.test.mjspasses (23/23), andnpx prettier --checkis clean on all three files.The Playwright run itself was not executed here. This sandbox has no
browser —
chrome-headless-shellcannot loadlibglib-2.0.so.0and there isno root to install it — so CI is the first place the spec actually runs.
Coordination
The blockers named in the issue have landed: #1034 and #1078 both merged, so
tests/e2e-data-fixtures.test.mjsis free. Branch cut from a freshorigin/main(7ab301e).git merge-treeagainst my other open PR #1110,which also edits
tests/e2e-data-fixtures.test.mjs, reports no conflict —its hunks are at lines 113 and 282, this one is at 192.
Line 23's
|| []is deliberately left uncovered: reaching it means clearinggroupsentirely, which stops the warning rendering at all.Related Issue
Refs #1094 — lands the first three boxes; the fourth (lines 7, 32 and 33 leaving the e2e uncovered-region list) is gated on the region-attribution problem in #1079, which I measured this session and found unsolved: containment, overlap, crossing and start-only keying each fold a region that is demonstrably a real gap, so no fixture change can tick that box (needs-human: #1079 needs a reporter fix nobody has a safe rule for yet, and re-deriving
--check-source-regionstouches.github/workflows/ci.yml, which this lane's token cannot push).Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88