Add missing regression tests for CRT-1083, CRT-1078, CRT-705#6505
Add missing regression tests for CRT-1083, CRT-1078, CRT-705#6505alantreadway merged 14 commits intolatestfrom
Conversation
Each test creates a real chart instance, triggers the exact failure scenario, and asserts observed internal state. All four tests were verified to fail with the corresponding fix reverted and pass with the fix in place.
|
❌ Codex review complete; 1 issue found (P0: 0 | P1: 0 | P2: 1 | P3: 0) View full reviewAdd missing regression tests for CRT-1083, CRT-1064, CRT-1078, CRT-705PR: #6505 SummaryThis PR adds four targeted regression tests across community and enterprise suites for CRT-1083, CRT-705, CRT-1078, and CRT-1064. The tests mostly exercise the intended internal edge paths, but one case does not precisely match the documented null-datum scenario. FindingsP0: 0 | P1: 0 | P2: 1 | P3: 0 1 inline comments posted. VerdictAssessment: incorrect The PR is close, but one regression test does not faithfully reproduce the stated failure mode, leaving a coverage gap for CRT-1078. Required Actions:
|
CRT-705: Use dropdown.visible:'always' option instead of directly setting rangesModule.isDropdown = true. CRT-1064: Override contentGroup.pickNodes to inject the line path node (which naturally carries a boolean datum) into pick results, instead of appending a synthetic Rect to the scene graph.
…ghlightManager call Replaces highlightManager.updateHighlight() + getHighlightedDatum() with hoverAction on the legend item coordinates. The hover naturally triggers the null-datum highlight path, and without the fix the render cycle crashes accessing point.x on the undefined datum.
…JSDOM The typeof guard in pickNodesExactShape protects a canvas hit-testing path that cannot be exercised through user-facing options in JSDOM.
30d0384 to
71fb6fb
Compare
…sophy - Document preference hierarchy: user-facing options > test harness utilities > internal state reads > internal state writes - Document that isPointInPath is stubbed in JSDOM and when to escalate to Playwright E2E tests
|
Snapshots automatically updated, please review before merge: |
2 similar comments
|
Snapshots automatically updated, please review before merge: |
|
Snapshots automatically updated, please review before merge: |
The CDP tracing-based test intermittently fails in CI due to timing sensitivity, then cascades via serial mode to skip the remaining suite.
This reverts commit 91446f0.
Google Font downloads intermittently timeout in CI, causing flaky failures.
…test Address PR feedback: isDropdown is an implementation detail. Replace with an e2e test that verifies range buttons disappear when disabled and reappear when re-enabled, testing the user-visible behaviour.
lsjroberts
left a comment
There was a problem hiding this comment.
LGTM pending snapshot updates
Use AgCharts.getInstance() + updateDelta() from the e2e test instead of exposing chart, AgCharts, and options on window.
Add Disable/Enable Ranges buttons so human operators can reproduce the issue manually. Simplify the e2e test to click the buttons directly.
Add @ag-skip-fws since the example uses direct DOM event listeners. Use AgCartesianChartOptions with number axes and valid button values.
Document the convention of adding interactive buttons to e2e examples so they serve as self-contained reproducers for human operators.
Direct DOM manipulation in e2e examples requires the @ag-skip-fws directive to prevent framework generation failures in CI.
The enable/disable toggle test from PR #6505 uses waitForAllChartUpdates but the import was missing after rebase.
Summary
Adds regression tests for four b13.2.0 fixes that shipped without test coverage. Each test creates a real chart, triggers the exact failure scenario, and asserts internal state. All four were verified with the fix-revert protocol (fails without fix, passes with fix).
lineSeries.test.ts): Stale_contextNodeData.visiblewhen series hidden during animation skip — uses line series (not bar) because bar hasanimationAlwaysUpdateSelections: truewhich bypasses the affected pathmapMarkerSeries.test.ts): Legend hover crash whenhighlightedDatum.datum == null— exercisesgetHighlightedDatum()with an undefined datum highlightranges.test.ts):isDropdownstate not reset when ranges module disabled — verifies state resets to undefined on disableTest plan