75 lines
2.2 KiB
PHP
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]');
|
|
});
|
|
}
|
|
}
|