refactor(menu): add admin menu items and corresponding test cases
This commit is contained in:
@@ -21,6 +21,16 @@ class MenuSeeder extends Seeder
|
|||||||
'route' => '/product/:id',
|
'route' => '/product/:id',
|
||||||
],
|
],
|
||||||
['code' => 'checkout', 'label' => 'Finalizar compra', 'route' => '/checkout'],
|
['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',
|
'code' => 'account',
|
||||||
'label' => 'Mi cuenta',
|
'label' => 'Mi cuenta',
|
||||||
|
|||||||
@@ -14,6 +14,37 @@ class MenuSeederTest extends TestCase
|
|||||||
{
|
{
|
||||||
use RefreshDatabase;
|
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
|
public function test_it_seeds_the_account_menu_hierarchy(): void
|
||||||
{
|
{
|
||||||
$tenant = $this->createTenant('account_tenant');
|
$tenant = $this->createTenant('account_tenant');
|
||||||
|
|||||||
Reference in New Issue
Block a user