Skip to content

test(e2e): fix outline tree expansion, method validation, and virtualization handling W-21714868#263

Merged
peternhale merged 6 commits intomainfrom
kdev/e2eTestImprovements
Mar 24, 2026
Merged

test(e2e): fix outline tree expansion, method validation, and virtualization handling W-21714868#263
peternhale merged 6 commits intomainfrom
kdev/e2eTestImprovements

Conversation

@kylewalke
Copy link
Copy Markdown
Contributor

@kylewalke kylewalke commented Mar 18, 2026

What does this PR do?

Fixes e2e outline tests that logged method validation failures (11/12 missing) but silently passed because only classFound was asserted.

Root causes fixed:

  • ensureOutlineTreeFullyVisible used wrong CSS selectors (.codicon-chevron-right) and double-click expansion (navigates editor, doesn't expand tree). Replaced with keyboard-driven ArrowRight/ArrowDown walk.
  • validateApexSymbolsInOutline used page-wide text= selectors that false-matched editor content instead of outline rows. Scoped all selectors to .outline-tree/.tree-explorer.
  • collectAllTreeLabels broke early on duplicate labels (two constructors both named ApexClassExample). Now uses element id for end-detection.
  • textContent() on parent container pulled <style> CSS into debug output. Now queries individual row elements.
  • DOM row count-based termination failed with Monaco's virtualised list (viewport-sized count stays constant). Now tracks focused row identity.
  • Sticky pane header intercepted clicks on partially-hidden rows. Fixed with force: true on list container.

Assertion strengthened:

  • Added expect(symbolValidation.allExpectedMethodsFound).toBe(true) — missing methods now fail the test.

What issues does this PR fix or reference?

@W-21714868@

Results

  • Outline: 12/12 methods validated in both chromium-web and desktop-electron
  • Full suite: 85/85 passing in CI

@github-actions
Copy link
Copy Markdown

E2E Test Results Summary

Run: 220

Test Results

  • Passed: 85
  • Failed: 0
  • Errors: 0
  • Total: 85

Passing Rate by File

  • apex-hover.spec.ts/junit.xml: 100.0% (21/21 passed)
  • apex-lsp-integration.spec.ts/junit.xml: 100.0% (16/16 passed)
  • apex-goto-definition.spec.ts/junit.xml: 100.0% (29/29 passed)
  • apex-outline.spec.ts/junit.xml: 100.0% (11/11 passed)
  • apex-extension-core.spec.ts/junit.xml: 100.0% (8/8 passed)

Artifacts

View detailed test reports in the Artifacts section.

All tests passed

@github-actions
Copy link
Copy Markdown

E2E Test Results Summary

Run: 264

Test Results

  • Passed: 85
  • Failed: 0
  • Errors: 0
  • Total: 85

Passing Rate by File

  • apex-hover.spec.ts/junit.xml: 100.0% (21/21 passed)
  • apex-lsp-integration.spec.ts/junit.xml: 100.0% (16/16 passed)
  • apex-goto-definition.spec.ts/junit.xml: 100.0% (29/29 passed)
  • apex-outline.spec.ts/junit.xml: 100.0% (11/11 passed)
  • apex-extension-core.spec.ts/junit.xml: 100.0% (8/8 passed)

Artifacts

View detailed test reports in the Artifacts section.

All tests passed

@github-actions
Copy link
Copy Markdown

E2E Test Results Summary

Run: 267

Test Results

  • Passed: 85
  • Failed: 0
  • Errors: 0
  • Total: 85

Passing Rate by File

  • apex-hover.spec.ts/junit.xml: 100.0% (21/21 passed)
  • apex-lsp-integration.spec.ts/junit.xml: 100.0% (16/16 passed)
  • apex-goto-definition.spec.ts/junit.xml: 100.0% (29/29 passed)
  • apex-outline.spec.ts/junit.xml: 100.0% (11/11 passed)
  • apex-extension-core.spec.ts/junit.xml: 100.0% (8/8 passed)

Artifacts

View detailed test reports in the Artifacts section.

All tests passed

@kylewalke kylewalke marked this pull request as ready for review March 23, 2026 22:54
@kylewalke kylewalke requested a review from a team as a code owner March 23, 2026 22:54
@kylewalke kylewalke requested a review from jonnyhork March 23, 2026 22:54
@kylewalke kylewalke changed the title Kdev/e2e test improvements test(e2e): fix outline tree expansion, method validation, and virtualization handling W-21714868 Mar 23, 2026
@github-actions
Copy link
Copy Markdown

E2E Test Results Summary

Run: 281

Test Results

  • Passed: 85
  • Failed: 0
  • Errors: 0
  • Total: 85

Passing Rate by File

  • apex-hover.spec.ts/junit.xml: 100.0% (21/21 passed)
  • apex-lsp-integration.spec.ts/junit.xml: 100.0% (16/16 passed)
  • apex-goto-definition.spec.ts/junit.xml: 100.0% (29/29 passed)
  • apex-outline.spec.ts/junit.xml: 100.0% (11/11 passed)
  • apex-extension-core.spec.ts/junit.xml: 100.0% (8/8 passed)

Artifacts

View detailed test reports in the Artifacts section.

All tests passed

@peternhale peternhale merged commit 8f4f6a5 into main Mar 24, 2026
21 checks passed
@peternhale peternhale deleted the kdev/e2eTestImprovements branch March 24, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants