Files
WMS/tests/tests/Browser/WmsResponsiveNavigationTest.php
T
2026-06-16 21:10:45 +01:00

75 lines
2.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\Browser\Concerns\InteractsWithWmsNavigation;
use Tests\DuskTestCase;
final class WmsResponsiveNavigationTest extends DuskTestCase
{
use DatabaseMigrations;
use InteractsWithWmsNavigation;
public function test_desktop_sidebar_navigation_remains_unchanged(): void
{
$admin = $this->platformAdminUser();
$this->browse(function (Browser $browser) use ($admin): void {
$browser->loginAs($admin)
->resize(1440, 1000)
->visit('/admin')
->waitFor('.wms-sidebar', 10)
->assertSee('Platform');
$this->resetNavigatorState($browser);
$this->assertSidebarGroupContains($browser, 'operations', [
'Analytics',
'Inventory',
]);
$this->clickSidebarHref($browser, '/inventory-management');
$browser->assertSee('Inventory');
});
}
public function test_mobile_menu_opens_slide_out_navigation(): void
{
$admin = $this->platformAdminUser();
$this->browse(function (Browser $browser) use ($admin): void {
$browser->loginAs($admin)
->resize(390, 844)
->visit('/admin')
->waitFor('[data-wms-mobile-open]', 10);
$this->openMobileNavigation($browser);
$browser->assertSee('Platform');
$this->assertSidebarGroupContains($browser, 'operations', ['Inventory']);
});
}
public function test_mobile_menu_overlay_closes_drawer(): void
{
$admin = $this->platformAdminUser();
$this->browse(function (Browser $browser) use ($admin): void {
$browser->loginAs($admin)
->resize(390, 844)
->visit('/admin')
->waitFor('[data-wms-mobile-open]', 10);
$this->openMobileNavigation($browser);
$browser->assertSee('Platform');
$browser->script("document.querySelector('[data-wms-mobile-close]')?.click();");
$browser->pause(200)
->assertPresent('[data-wms-mobile-open]');
});
}
}