feat(category-visibility): implement category visibility controller and service with update functionality
This commit is contained in:
@@ -38,6 +38,45 @@ class EntryControllerTest extends TestCase
|
||||
->assertUnauthorized();
|
||||
}
|
||||
|
||||
public function test_category_visibility_can_be_read_and_updated_for_every_fiesta_menu(): void
|
||||
{
|
||||
$tenant = $this->createFiestaTenant();
|
||||
$categories = [
|
||||
'entries' => ['Entradas', 'adminapp.fiesta-futbol-infantil.entradas'],
|
||||
'foods' => ['Comidas', 'adminapp.fiesta-futbol-infantil.comida'],
|
||||
'accommodations' => ['Alojamientos', 'adminapp.fiesta-futbol-infantil.alojamientos'],
|
||||
'merchandise' => ['Merchandising', 'adminapp.fiesta-futbol-infantil.merchandising'],
|
||||
];
|
||||
|
||||
foreach ($categories as [$label, $menuCode]) {
|
||||
$menu = Menu::query()->firstOrCreate(
|
||||
['code' => $menuCode],
|
||||
['label' => $label, 'route' => '/admin'],
|
||||
);
|
||||
$tenant->menues()->syncWithoutDetaching([$menu->code]);
|
||||
}
|
||||
|
||||
Sanctum::actingAs($this->createAdminAppUser($tenant));
|
||||
|
||||
foreach ($categories as $endpoint => [$categoryName]) {
|
||||
$this->getJson("/api/v1/adminapp/tenant/{$endpoint}/visibility")
|
||||
->assertOk()
|
||||
->assertJsonPath('data.is_enabled', true);
|
||||
|
||||
$this->patchJson("/api/v1/adminapp/tenant/{$endpoint}/visibility", [
|
||||
'is_enabled' => false,
|
||||
])
|
||||
->assertOk()
|
||||
->assertJsonPath('data.is_enabled', false);
|
||||
|
||||
$this->assertDatabaseHas('categorias', [
|
||||
'tenant_code' => $tenant->codigo,
|
||||
'nombre' => $categoryName,
|
||||
'is_enabled' => false,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function test_it_creates_multiple_entries_with_dates_and_tracked_inventory(): void
|
||||
{
|
||||
$tenant = $this->createFiestaTenant();
|
||||
|
||||
Reference in New Issue
Block a user