38 lines
1.0 KiB
PHP
38 lines
1.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Filament\Facades\Filament;
|
|
use Filament\Navigation\NavigationManager;
|
|
|
|
it('shows audit log only once in the system navigation group', function (): void {
|
|
$admin = createAdminUser(['locale' => 'tk']);
|
|
|
|
$this->actingAs($admin);
|
|
app()->setLocale('tk');
|
|
Filament::setCurrentPanel(Filament::getPanel('admin'));
|
|
|
|
$response = $this->get('/admin');
|
|
$response->assertSuccessful();
|
|
|
|
$auditLabel = 'Audit žurnaly';
|
|
$occurrences = substr_count($response->getContent(), $auditLabel);
|
|
|
|
$nm = app(NavigationManager::class);
|
|
$nav = $nm->get();
|
|
|
|
$systemGroups = collect($nav)->filter(
|
|
fn ($group): bool => $group->getLabel() === __('hr.navigation.system'),
|
|
);
|
|
|
|
$auditNavItems = $systemGroups->flatMap(
|
|
fn ($group) => $group->getItems()->filter(
|
|
fn ($item): bool => $item->getLabel() === $auditLabel,
|
|
),
|
|
);
|
|
|
|
expect($occurrences)->toBe(1)
|
|
->and($systemGroups->count())->toBe(1)
|
|
->and($auditNavItems->count())->toBe(1);
|
|
});
|