translate base
This commit is contained in:
61
tests/Feature/LocalizationTest.php
Normal file
61
tests/Feature/LocalizationTest.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Enums\Gender;
|
||||
use App\Enums\NavigationGroup;
|
||||
use App\Filament\Resources\ActivityLogs\ActivityLogResource;
|
||||
use App\Models\User;
|
||||
use BezhanSalleh\LanguageSwitch\Events\LocaleChanged;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
|
||||
it('returns translated enum labels for the active locale', function (): void {
|
||||
App::setLocale('ru');
|
||||
|
||||
expect(Gender::Male->label())->toBe('Мужской');
|
||||
|
||||
App::setLocale('tk');
|
||||
|
||||
expect(Gender::Male->label())->toBe('Erkek');
|
||||
|
||||
App::setLocale('en');
|
||||
|
||||
expect(Gender::Male->label())->toBe('Male');
|
||||
});
|
||||
|
||||
it('returns translated navigation group labels', function (): void {
|
||||
App::setLocale('ru');
|
||||
|
||||
expect(NavigationGroup::Employees->getLabel())->toBe('Сотрудники');
|
||||
|
||||
App::setLocale('tk');
|
||||
|
||||
expect(NavigationGroup::LeaveManagement->getLabel())->toBe('Dynç alyş dolandyryşy');
|
||||
});
|
||||
|
||||
it('returns translated filament resource navigation labels', function (): void {
|
||||
App::setLocale('tk');
|
||||
|
||||
expect(ActivityLogResource::getNavigationLabel())->toBe('Audit žurnaly');
|
||||
|
||||
App::setLocale('ru');
|
||||
|
||||
expect(ActivityLogResource::getNavigationLabel())->toBe('Журнал аудита');
|
||||
});
|
||||
|
||||
it('persists locale when locale changed event fires', function (): void {
|
||||
$user = User::factory()->create(['locale' => 'en']);
|
||||
|
||||
$this->actingAs($user);
|
||||
|
||||
Event::dispatch(new LocaleChanged('ru'));
|
||||
|
||||
expect($user->fresh()->locale)->toBe('ru');
|
||||
});
|
||||
|
||||
it('defaults new users to english locale', function (): void {
|
||||
$user = User::factory()->create();
|
||||
|
||||
expect($user->locale)->toBe('en');
|
||||
});
|
||||
Reference in New Issue
Block a user