test: cover the landing page's own content end to end - #838
Merged
Merged
Conversation
docs/practitioners/index.md carries slug: /, so it is the site's landing page, and no spec asserts its body. navigation.spec.js and footer.spec.js load / only to exercise the theme chrome around it; the unit suite never loads the document at all, and projects-born-render.test.mjs drives <ProjectsBorn> with default props rather than the custom title/intro the page passes. Add tests/e2e/practitioners-home.spec.js covering the hero and tagline, the four pillars, the require()d hero photo (asserted to decode, not merely to be present) and its awards-page caption link, the Start here list and the routes it points at, the four audience cards, the five-step ladder, and the in-page ProjectsBorn section held against the footer's compact strip for both project count and distinctness. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: hivecommons-hive[bot] <hivecommons-hive@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 automatically remove the |
This was referenced Sep 29, 2026
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
Adds
tests/e2e/practitioners-home.spec.js— end-to-end coverage for the landing page'sown content.
docs/practitioners/index.mdcarriesslug: /, so it is the site's most-visited route,and no spec asserts its body.
tests/e2e/navigation.spec.jsandtests/e2e/footer.spec.jsnavigate to
/, but only to exercise the theme chrome the page is wrapped in — the navbarand the footer. On the unit side,
npm run test:unit:coverageatmain@7772dcf(
src files | 99.84 | 98.46 | 6329/6339 lines) never lists the document, because the unitsuite does not load it;
tests/mdx-components.test.mjsreads it as text, andtests/projects-born-render.test.mjsdrives<ProjectsBorn>with its default propsrather than the custom
title/introthis page passes.The 14 new tests cover:
/serves the doc (status < 400, no "Page Not Found",<h1>CNCF End Users</h1>);the tagline keeps its inner
<span>; all four pillars render in order with non-empty bodiesrequire()d image is asserted to decode (naturalWidth > 0), notmerely to be present, which is the only signal that survives a webpack asset-pipeline change
that stops emitting it; its caption still links to
/community/awardsthe four audience cards carry their exact CTA labels and hrefs; the ladder renders five
steps whose visible numbers agree with their positions
component default (which the footer's compact strip renders on this same page, so the
fallback looks like normal output), lists the same number of projects as that strip — both
read
data/projects-born.json, so the strip pins the section to the shipped data withoutrestating it — keeps the long descriptions the compact variant omits, and stays a distinct
aria-labelledbysection from itVerified locally at
7772dcfagainstbuild/fromnpm run build:production: 14 passed.npm run test:unitstays green (1421 pass / 0 fail) and the file is Prettier-clean. Theassertions were mutation-checked — flipping the expected ladder label, a "Start here" href
and the projects-born default-title count each produced a failure, so none of them is vacuous.
Test-only: one new file under
tests/e2e/. No production code, no workflow changes.Related Issue
Closes #837
Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88