refactor(menu): add admin menu items and corresponding test cases

This commit is contained in:
2026-07-30 16:36:43 -03:00
parent 2cc72be850
commit ace3f136e4
2 changed files with 41 additions and 0 deletions

View File

@@ -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',

View File

@@ -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');