Repository navigation
test(e2e): drive the contributor membership filter in a browser - #1266
Open
hivecommons-hive[bot] wants to merge 1 commit into
Open
hivecommons-hive[bot] wants to merge 1 commit into
hivecommons-hive[bot] wants to merge 1 commit into
Conversation
The member directory's membership select ships three options and no end-to-end case has ever selected the middle one. matchesMembership answers it with its own branch (src/components/MemberDirectory/utils.js :42-44), so that branch body is a zero region in the e2e report while the unit suite covers it through a fake DOM -- which is exactly the hydration regression tests/e2e/interactions.spec.js exists to catch. Two cases, because the branch has two operands and only one of them is reachable against the committed data: * interactions.spec.js selects contributor against the real data and asserts every surviving card carries a contributor label. It runs in the gating "End-to-end tests" job as well as the coverage one. * data-fixtures.spec.js selects contributor against the overlay, whose dual-role organization is the only way to reach status === 'member-and-contributor', and asserts the record drops out under a filter that must not admit it. Measured over a full local browser run (342 then 344 passed, chromium, E2E_COVERAGE=1, rev 365e11f): src/components/MemberDirectory/utils.js goes from 100.00%/96.43% to 100.00%/100.00% regions, and the src files aggregate from 97.13% to 97.74%. Closes #1265 Signed-off-by: quality <quality@hive.kubestellar.io>
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 10, 2026
[quality] the e2e region union never credits a guard arm taken only in a sibling fixture build
#1256
Open
This branch has not been deployed
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
Drives the member directory's
contributormembership filter in a browser forthe first time. Two end-to-end cases, one branch:
matchesMembership'sfilter === 'contributor'arm(
src/components/MemberDirectory/utils.js:42-44).tests/e2e/interactions.spec.js— selectscontributoragainst the realdata, asserts the result count narrows and that every surviving card carries a
contributor label. This file's own header states why a browser case is needed
at all: the unit suite drives these filters through a fake DOM, so a hydration
regression leaves every unit test green while the shipped toolbar is dead. The
existing case there drives
memberandunknownonly. This one also runs inthe gating "End-to-end tests" job.
tests/e2e/data-fixtures.spec.js— selectscontributoragainst theE2E_COVERAGE=1overlay and asserts the dual-role organization is admitted,then dropped under
unknown.data/members.jsonholds nomember-and-contributorrecord, sostatus === 'member-and-contributor'isunreachable against the real build; the overlay
(
tests/tools/e2e-data-fixtures.cjs) is the mechanism this repository alreadyuses for that, and
data-fixtures.spec.js:180already relies on the samerecord for the card label.
No production code, no fixture data, and no new
test.skip()or coverage-gateddescribe—tests/e2e-coverage-describe-gate.test.mjsandtests/e2e-data-dependent-skips.test.mjsare unaffected and pass.Measured effect
Full local browser runs at
365e11f, chromium,E2E_COVERAGE=1, viae2e-coverage-run.mjs init→npm run build:e2e:coverage→npm run test:e2e:coverage→seal --status passed→npm run report:e2e:coverage:src/components/MemberDirectory/utils.jssrc filesaggregateutils.jsreaching 100% is the direct, attributable effect of this diff.Smaller movements on
DirectoryFreshness,PeopleFreshnessandCommunityPeoplewere observed between the two runs; they are reported here forcompleteness and not claimed as this diff's doing.
Unit coverage is unchanged:
src files | 100.00 | 100.00 | 9015/9015 lines | 2713/2713 regionsboth before and after, which is why the underlying finding isfiled as an end-to-end-only gap.
Disjointness
Touches
tests/e2e/interactions.spec.jsandtests/e2e/data-fixtures.spec.jsonly. No open hold-gated pull request touches either file, nor
src/components/MemberDirectory/:#1250 (
package.json,tests/coverage-gate-thresholds.test.mjs),#1252 (
tests/e2e-coverage-source-boundary-segments.test.mjs),#1262 (
tests/uri-safety.test.mjs),#1260 (
tests/e2e-data-fixture-integrity.test.mjs),#1249/#1255/#1264 (uri-safety and MDX image handling).
Branch cut from a fresh
origin/mainat365e11f.Related Issue
Closes #1265
Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88