LearnNewsExamplesServices
Frontmatter
id9499
titleGrid Multi-Body: Test Suite Refactoring & Expansion
stateOpen
labels
epicaitestinggrid
assigneestobiu
createdAtMar 16, 2026, 11:29 PM
updatedAtMar 17, 2026, 7:59 PM
githubUrlhttps://github.com/neomjs/neo/issues/9499
authortobiu
commentsCount0
parentIssue9486
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

Grid Multi-Body: Test Suite Refactoring & Expansion

Openepicaitestinggrid
tobiu
tobiu commented on Mar 16, 2026, 11:29 PM

Phase 8 of the Multi-Body Epic (#9486).

The fundamental shift from a Single-Body to a Multi-Body architecture breaks the core assumptions of our existing test suite. A "Row" is no longer a single physical DOM node, and a "Grid" is no longer a single scrollable container.

Before marking the Epic as complete, the entire Playwright test suite must be refactored to assert against the new structural reality, and new tests must be written to cover the advanced orchestration.

1. Existing Test Refactoring: The following test suites rely heavily on DOM structure and event targeting that will change. They must be updated:

  • `test/playwright/unit/grid/column/Component.spec.mjs` (Ensure component columns render correctly inside split SubGrids and preserve state).
  • `test/playwright/unit/grid/DynamicColumn.spec.mjs` (Adding/removing columns must correctly route them to the appropriate SubGrid collection).
  • `test/playwright/unit/grid/LockedColumns.spec.mjs` (The definition of "locked" changes from a CSS `transform` to a physical `SubGrid` boundary. Assertions must reflect this).
  • `test/playwright/unit/grid/Pooling.spec.mjs` (Row pooling is now isolated per SubGrid. Must assert that scrolling reuses nodes within their respective zones).
  • `test/playwright/unit/grid/PoolingRuntimeUpdates.spec.mjs` (Ensure record updates trigger VDOM changes across all active physical row representations).
  • `test/playwright/unit/grid/StoreInteractions.spec.mjs` (Sorting/Filtering must update all active SubGrids simultaneously).
  • `test/playwright/unit/grid/Teleportation.spec.mjs` (Ensure the "Surgical DOM Move" for drag proxies still works when crossing SubGrid boundaries).

2. New Test Coverage Requirements:

  • Orchestration Tests: Verify that `GridContainer` correctly splits a flat `columns` array into `start`, `center`, and `end` collections.
  • Sync Scrolling: Assert that horizontal scrolling via the decoupled `HorizontalScroller` correctly updates the Center SubGrid's body and header.
  • Selection Synchronization: Assert that clicking a row in the Left SubGrid visually selects the corresponding rows in the Center and Right SubGrids.
  • (Note: Cross-window Drag & Drop testing may require future Playwright SDK enhancements related to the Neural Link).
tobiu added the epic label on Mar 16, 2026, 11:29 PM
tobiu added the ai label on Mar 16, 2026, 11:29 PM
tobiu added the testing label on Mar 16, 2026, 11:29 PM
tobiu added the grid label on Mar 16, 2026, 11:29 PM
tobiu added parent issue #9486 on Mar 16, 2026, 11:29 PM
tobiu assigned to @tobiu on Mar 17, 2026, 7:59 PM