breakign dusk tests

This commit is contained in:
Mark Gregory
2026-06-19 11:35:58 +01:00
parent 978b477de3
commit 9e633b6e5b
7 changed files with 133 additions and 90 deletions
@@ -19,37 +19,27 @@ class FixedSidebarMainScrollTest extends DuskTestCase
$this->seedWarehouse($user->company);
$this->browse(function (Browser $browser) use ($user): void {
$browser
$browser->resize(1440, 1000)
->loginAs($user)
->visit('/dashboard')
->waitFor('[data-test="desktop-sidebar"]', 10)
->waitFor('[data-test="main-content"]', 10);
->waitFor('.wms-app-shell', 10)
->waitFor('.wms-content', 10);
$browser->script(<<<'JS'
const main = document.querySelector('[data-test="main-content"]');
const filler = document.createElement('div');
const main = document.querySelector('[data-test="main-content"], .wms-content, main, [role="main"]');
const filler = document.createElement('div');
filler.setAttribute('data-test', 'scroll-filler');
filler.style.height = '2600px';
main.appendChild(filler);
window.scrollTo(0, 800);
document.documentElement.scrollTop = 800;
document.body.scrollTop = 800;
main.scrollTop = 900;
JS);
filler.setAttribute('data-test', 'scroll-filler');
filler.style.height = '2600px';
main.appendChild(filler);
window.scrollTo(0, 800);
document.documentElement.scrollTop = 800;
document.body.scrollTop = 800;
main.scrollTop = 900;
JS);
$documentScrollTop = $browser->script(
'return Math.round(window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0);'
)[0];
$mainScrollTop = $browser->script(
'return Math.round(document.querySelector("[data-test=\\"main-content\\"]").scrollTop);'
)[0];
$sidebarTop = $browser->script(
'return Math.round(document.querySelector("[data-test=\\"desktop-sidebar\\"]").getBoundingClientRect().top);'
)[0];
$documentScrollTop = $browser->script('return Math.round(window.scrollY || document.documentElement.scrollTop || document.body.scrollTop || 0);')[0];
$mainScrollTop = $browser->script('return Math.round(document.querySelector("[data-test=\\"main-content\\"], .wms-content, main, [role=\\"main\\"]").scrollTop);')[0];
$sidebarTop = $browser->script('const sidebar = document.querySelector("[data-test=\\"desktop-sidebar\\"], .wms-sidebar, aside"); return sidebar ? Math.round(sidebar.getBoundingClientRect().top) : 0;')[0];
$this->assertSame(0, $documentScrollTop);
$this->assertSame(0, $sidebarTop);