UPDATED TESTS wirr dusk
This commit is contained in:
@@ -20,9 +20,7 @@ class DesktopNavigationBrowserTest extends DuskTestCase
|
||||
$this->seedPlatformDashboardData();
|
||||
|
||||
$this->browse(function (Browser $browser) use ($admin): void {
|
||||
$browser->loginAs($admin)
|
||||
->visit('/admin');
|
||||
|
||||
$browser->loginAs($admin)->visit('/admin');
|
||||
$this->assertDesktopSidebarIsAvailable($browser);
|
||||
|
||||
foreach ([
|
||||
@@ -43,67 +41,56 @@ class DesktopNavigationBrowserTest extends DuskTestCase
|
||||
$browser->loginAs($admin)
|
||||
->resize(1440, 1000)
|
||||
->visit('/admin')
|
||||
->waitFor('.wms-sidebar')
|
||||
->waitFor('.wms-sidebar', 10)
|
||||
->click('[data-wms-sidebar-toggle]')
|
||||
->pause(250)
|
||||
->assertScript('document.querySelector("[data-wms-shell]").classList.contains("is-sidebar-collapsed")')
|
||||
->waitUntil('document.documentElement.dataset.wmsSidebar === "collapsed"', 10)
|
||||
->assertPresent('[data-wms-brand-toggle]')
|
||||
->click('[data-wms-brand-toggle]')
|
||||
->pause(250)
|
||||
->assertScript('! document.querySelector("[data-wms-shell]").classList.contains("is-sidebar-collapsed")')
|
||||
->clickLink('Analytics')
|
||||
->waitForLocation('/analytics')
|
||||
->assertSee('Analytics');
|
||||
->waitUntil('document.documentElement.dataset.wmsSidebar === "expanded"', 10);
|
||||
|
||||
$this->clickSidebarHref($browser, '/analytics');
|
||||
$browser->assertSee('Analytics');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider navigatorRoutes
|
||||
*/
|
||||
public function test_every_desktop_navigator_page_has_one_professional_header(string $path, string $title): void
|
||||
public function test_every_desktop_navigator_page_has_one_professional_header(): void
|
||||
{
|
||||
$admin = $this->platformAdminUser();
|
||||
$this->seedPlatformDashboardData();
|
||||
|
||||
$this->browse(function (Browser $browser) use ($admin, $path, $title): void {
|
||||
$browser->loginAs($admin)
|
||||
->resize(1440, 1000)
|
||||
->visit($path)
|
||||
->waitFor('.wms-page-hero', 5);
|
||||
$routes = [
|
||||
['/admin', 'Platform'],
|
||||
['/platform/pricing', 'Pricing'],
|
||||
['/admin/companies', 'Companies'],
|
||||
['/admin/licenses', 'Licence Keys'],
|
||||
['/admin/payments', 'Payments'],
|
||||
['/admin/prices', 'Platform Prices'],
|
||||
['/dashboard', 'Customer One'],
|
||||
['/warehouses', 'Warehouses'],
|
||||
['/warehouse-rules', 'Validation Rules'],
|
||||
['/analytics', 'Analytics'],
|
||||
['/inventory-management', 'Inventory'],
|
||||
['/replenishment', 'Replenishment'],
|
||||
['/shipping', 'Shipping'],
|
||||
['/transportation', 'Transportation'],
|
||||
['/carrier-management', 'Carriers'],
|
||||
['/m3-integration', 'M3 Integration'],
|
||||
['/sentinel-integration', 'Sentinel'],
|
||||
['/document-archive', 'Documents'],
|
||||
['/reporting', 'Reporting'],
|
||||
['/configuration', 'Configuration'],
|
||||
['/security', 'Security'],
|
||||
['/audit', 'Audit'],
|
||||
];
|
||||
|
||||
$this->assertSingleProfessionalHeader($browser, $title);
|
||||
$browser->assertVisible('.wms-sidebar');
|
||||
$this->browse(function (Browser $browser) use ($admin, $routes): void {
|
||||
$browser->loginAs($admin)->resize(1440, 1000);
|
||||
|
||||
foreach ($routes as [$path, $title]) {
|
||||
$browser->visit($path);
|
||||
$this->assertSingleProfessionalHeader($browser, $title);
|
||||
$browser->assertVisible('.wms-sidebar');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, array{0: string, 1: string}>
|
||||
*/
|
||||
public static function navigatorRoutes(): array
|
||||
{
|
||||
return [
|
||||
'platform' => ['/admin', 'Platform'],
|
||||
'platform pricing' => ['/platform/pricing', 'Pricing'],
|
||||
'companies' => ['/admin/companies', 'Companies'],
|
||||
'licences' => ['/admin/licenses', 'Licence Keys'],
|
||||
'payments' => ['/admin/payments', 'Payments'],
|
||||
'price crud' => ['/admin/prices', 'Platform Prices'],
|
||||
'warehouse dashboard' => ['/dashboard', 'Warehouse'],
|
||||
'warehouses' => ['/warehouses', 'Warehouses'],
|
||||
'validation rules' => ['/warehouse-rules', 'Validation Rules'],
|
||||
'analytics' => ['/analytics', 'Analytics'],
|
||||
'inventory' => ['/inventory-management', 'Inventory'],
|
||||
'replenishment' => ['/replenishment', 'Replenishment'],
|
||||
'shipping' => ['/shipping', 'Shipping'],
|
||||
'transportation' => ['/transportation', 'Transportation'],
|
||||
'carriers' => ['/carrier-management', 'Carriers'],
|
||||
'm3' => ['/m3-integration', 'M3 Integration'],
|
||||
'sentinel' => ['/sentinel-integration', 'Sentinel'],
|
||||
'documents' => ['/document-archive', 'Documents'],
|
||||
'reporting' => ['/reporting', 'Reporting'],
|
||||
'configuration' => ['/configuration', 'Configuration'],
|
||||
'security' => ['/security', 'Security'],
|
||||
'audit' => ['/audit', 'Audit'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user