test: await board pointer readiness before marquee selection (#19029)

This commit is contained in:
Neil
2026-09-05 23:50:30 -07:00
committed by GitHub
parent ced8a93bfd
commit e73f8dfa0f
@@ -307,7 +307,6 @@ test.describe('Workspace board lane virtualization', () => {
})
test('selects the full lane across a single large marquee scroll jump', async ({ orcaPage }) => {
test.skip(true, 'Quarantined by https://github.com/stablyai/orca/issues/12415')
const statusId = 'virtual-marquee'
const emptyStatusId = 'virtual-marquee-start'
await orcaPage.evaluate(
@@ -380,32 +379,36 @@ test.describe('Workspace board lane virtualization', () => {
}
// Why: CI can overlay individual lane pixels, so choose a live board-owned point.
const startPoint = await emptyLaneScroll.evaluate((element) => {
const ignored = [
'[data-workspace-board-card-id]',
'a',
'button',
'input',
'select',
'textarea',
'[role="button"]',
'[role="menu"]',
'[role="menuitem"]'
].join(',')
const rect = element.getBoundingClientRect()
for (let y = Math.ceil(rect.top) + 6; y <= Math.floor(rect.top) + 40; y += 6) {
for (let x = Math.ceil(rect.left) + 8; x <= Math.floor(rect.right) - 8; x += 8) {
const target = document.elementFromPoint(x, y)
if (
target?.closest('[data-workspace-board-selection-surface]') &&
!target.closest(ignored)
) {
return { x, y }
const findStartPoint = () =>
emptyLaneScroll.evaluate((element) => {
const ignored = [
'[data-workspace-board-card-id]',
'a',
'button',
'input',
'select',
'textarea',
'[role="button"]',
'[role="menu"]',
'[role="menuitem"]'
].join(',')
const rect = element.getBoundingClientRect()
for (let y = Math.ceil(rect.top) + 6; y <= Math.floor(rect.top) + 40; y += 6) {
for (let x = Math.ceil(rect.left) + 8; x <= Math.floor(rect.right) - 8; x += 8) {
const target = document.elementFromPoint(x, y)
if (
target?.closest('[data-workspace-board-selection-surface]') &&
!target.closest(ignored)
) {
return { x, y }
}
}
}
}
return null
})
return null
})
// The board's clip animation can expose cards before the empty lane accepts pointer hits.
await expect.poll(findStartPoint).not.toBeNull()
const startPoint = await findStartPoint()
expect(startPoint, 'the empty start lane must expose board-owned space').not.toBeNull()
if (!startPoint) {
throw new Error('Expected empty board space for the marquee start')