test: diagnose settings scroll restoration

This commit is contained in:
2026-10-15 00:44:01 +03:00
parent 831eb6cea3
commit 9b09efe12a
+12 -1
View File
@@ -861,7 +861,18 @@ test('desktop Settings keeps the shell fixed and restores its own scroll positio
await page.getByRole('heading', { name: 'Node overview', level: 1 }).waitFor()
await page.getByRole('complementary').getByRole('link', { name: 'Settings', exact: true }).click()
await settingsScroller.waitFor()
await page.waitForFunction((top) => Math.abs(Number(document.querySelector('.settings-page__scroll')?.scrollTop) - top) < 2, savedSettingsTop)
try {
await page.waitForFunction((top) => Math.abs(Number(document.querySelector('.settings-page__scroll')?.scrollTop) - top) < 2, savedSettingsTop)
} catch (error) {
const scrollState = await settingsScroller.evaluate((element) => ({
top: element.scrollTop,
maxTop: element.scrollHeight - element.clientHeight,
scrollHeight: element.scrollHeight,
clientHeight: element.clientHeight,
saved: JSON.parse(localStorage.getItem('sisyphus-page-scroll-positions') ?? '{}')['/settings'],
}))
throw new Error(`Settings scroll did not restore from ${savedSettingsTop}: ${JSON.stringify(scrollState)}`, { cause: error })
}
assert.ok(savedSettingsTop > 40, 'the Settings scroll position was not meaningfully saved')
} finally {
await app.close()