Frontmatter
| id | 9412 |
| title | TreeGrid Component Tests (UI & Interactions) |
| state | Closed |
| labels | enhancementaitestinggrid |
| assignees | tobiu |
| createdAt | Mar 9, 2026, 12:03 PM |
| updatedAt | Mar 12, 2026, 12:41 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9412 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9404 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 12, 2026, 12:41 PM |
TreeGrid Component Tests (UI & Interactions)
tobiu added parent issue #9404 on Mar 9, 2026, 12:03 PM
tobiu assigned to @tobiu on Mar 9, 2026, 12:11 PM

tobiu
Mar 12, 2026, 12:41 PM
Input from Gemini 3.1 Pro:
✦ I have significantly enhanced the E2E test suite for the TreeGrid. The
test/playwright/e2e/GridTree.spec.mjsfile now includes three robust test cases:
- Expand / Collapse node: Validates the visual rendering and Row Pooling integrity during simple expansion and collapse of tree nodes, ensuring classes like
is-expandedandis-collapsedare correctly applied andis-leafdoes not incorrectly bleed over into recycled components (verifying the fix from #9448).- Sorting TreeStore hierarchically: Simulates clicking on the grid column headers (
Name) to sort the underlyingTreeStore. It rigorously validates the rendered order of the DOM nodes in both ASC and DESC directions to ensure the hierarchical sorting logic accurately reflects on the screen.- Deep state interactions: A complex sequence involving multiple expand, collapse, and sort operations. It tests whether the tree correctly remembers the expanded states of child nodes when a parent node is collapsed and later expanded again, even when interleaved with sorting operations.
All 3 E2E tests pass reliably.
tobiu closed this issue on Mar 12, 2026, 12:41 PM
Goal
Verify the visual rendering, Row Pooling integrity, and DOM event handling of the Tree Grid in a real browser environment.
Details
TreeStore.GridBodyvirtual map.aria-rowindexremains gapless and contiguous during expand/collapse operations..neo-tree-toggle-iconusing theneoPlaywright fixture.expandandcollapseevents are fired correctly on the grid container.aria-expanded,aria-level, andaria-setsizeare present and correct on the rendered DOM nodes.test/playwright/component/grid/Tree.spec.mjs.