redhat-developer / redhat-developer/rhdh-plugin-export-overlays
[fullsend] E2E: scorecard — global header intercepts sidebar Home click
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 72
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 143
Description
fullsend-tracking: workspace=scorecard
fullsend-tracking: root-cause=global-header-click-intercept
fullsend-tracking: branch=main
Classification
fix_category: test_fix
Failed Tests
| Test | Error |
|---|---|
| Setup aggregated scorecards on homepage | Global header intercepts clicks on sidebar Home link (23 retries, all intercepted) |
| Aggregated scorecard (GitHub): info tooltips, drill-down, table UI | Cascade: namespace deleted before retry — 'Application is not available' |
Root Cause
The test at workspaces/scorecard/e2e-tests/tests/utils/setup.ts:39 requests disablePlugins: ['red-hat-developer-hub-backstage-plugin-global-header'] in the rhdh.configure() call. However, the global-header plugin was NOT disabled. The install log confirms: Installing OCI plugin oci://quay.io/rhdh/red-hat-developer-hub-backstage-plugin-global-header@sha256:... — no "Disabling" entry appears for global-header.
The global header renders as a sticky <nav id="global-header"> bar at viewport top, with a Home logo (<img data-testid="home-logo">) that visually overlaps the sidebar's Home link. When navigateToHome() calls uiHelper.openSidebar("Home"), the locator resolves to the sidebar link but every click is intercepted by the global header's logo (Playwright retried 23 times, all intercepted).
Test 2 failed as a cascade: after Test 1 failed, the serial suite skipped remaining tests, the TeardownReporter deleted the namespace, then the retry worker found RHDH gone.
Other scorecard projects (scorecard-filecheck-app-next, scorecard-grouped-app-next) passed because they don't click the sidebar Home link.
Remediation
Target branch: main
In workspaces/scorecard/e2e-tests/tests/utils/scorecard.ts at line 144-146, replace the navigateToHome() method:
// Before:
async navigateToHome() {
await uiHelper.openSidebar("Home");
}
// After:
async navigateToHome() {
await page.goto("/");
await page.waitForLoadState("domcontentloaded");
}
This bypasses the sidebar click entirely by navigating via URL, which works regardless of the global header's presence.
Additionally, investigate why disablePlugins did not produce a disabled: true entry for the global-header plugin. This may be a bug in e2e-test-utils when using useNewFrontendSystem: true.
Artifacts
Triggered by https://github.com/redhat-developer/rhdh-plugin-export-overlays/issues/3749
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in workspaces/scorecard/e2e-tests/tests/utils/scorecard.ts around navigateToHome() and review the failing setup path in workspaces/scorecard/e2e-tests/tests/utils/setup.ts:39. Run the scorecard E2E tests and verify homepage navigation succeeds with the global header installed; then investigate whether disablePlugins is honored with useNewFrontendSystem: true and confirm the relevant install log behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, typescript
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100