diff --git a/database/seeders/MenuSeeder.php b/database/seeders/MenuSeeder.php index 362d784..c87a770 100644 --- a/database/seeders/MenuSeeder.php +++ b/database/seeders/MenuSeeder.php @@ -21,6 +21,16 @@ class MenuSeeder extends Seeder 'route' => '/product/:id', ], ['code' => 'checkout', 'label' => 'Finalizar compra', 'route' => '/checkout'], + ['code' => 'admin.event', 'label' => 'Eventos', 'route' => '/admin/event'], + ['code' => 'admin.catalog', 'label' => 'Catálogo', 'route' => '/admin/catalog'], + ['code' => 'admin.combos', 'label' => 'Combos', 'route' => '/admin/combos'], + [ + 'code' => 'admin.categories', + 'label' => 'Categorías', + 'route' => '/admin/categories', + ], + ['code' => 'admin.ventas', 'label' => 'Ventas', 'route' => '/admin/ventas'], + ['code' => 'admin.staff', 'label' => 'Staff', 'route' => '/admin/staff'], [ 'code' => 'account', 'label' => 'Mi cuenta', diff --git a/tests/Feature/Seeders/MenuSeederTest.php b/tests/Feature/Seeders/MenuSeederTest.php index 25479fa..6c394f0 100644 --- a/tests/Feature/Seeders/MenuSeederTest.php +++ b/tests/Feature/Seeders/MenuSeederTest.php @@ -14,6 +14,37 @@ class MenuSeederTest extends TestCase { use RefreshDatabase; + public function test_it_seeds_the_admin_menus(): void + { + $tenant = $this->createTenant('admin_tenant'); + + $this->seed(MenuSeeder::class); + + $expectedMenus = [ + 'admin.catalog' => ['Catálogo', '/admin/catalog'], + 'admin.categories' => ['Categorías', '/admin/categories'], + 'admin.combos' => ['Combos', '/admin/combos'], + 'admin.event' => ['Eventos', '/admin/event'], + 'admin.staff' => ['Staff', '/admin/staff'], + 'admin.ventas' => ['Ventas', '/admin/ventas'], + ]; + + $adminMenus = Menu::query() + ->whereIn('code', array_keys($expectedMenus)) + ->get() + ->keyBy('code'); + + $this->assertCount(count($expectedMenus), $adminMenus); + + foreach ($expectedMenus as $code => [$label, $route]) { + $this->assertSame($label, $adminMenus->get($code)?->label); + $this->assertSame($route, $adminMenus->get($code)?->route); + $this->assertTrue( + $tenant->menues()->where('menues.code', $code)->exists() + ); + } + } + public function test_it_seeds_the_account_menu_hierarchy(): void { $tenant = $this->createTenant('account_tenant');