Files
ABSDEV/Modules/Settings/Tests/Feature/ThemeSelectionSettingsTest.php

28 lines
1.1 KiB
PHP

<?php
use Modules\Settings\Services\SettingsRepository;
use Modules\Stylist\Theme\Stylist;
it('stores separate active frontend and backend themes in site settings', function (): void {
$settings = app(SettingsRepository::class);
$settings->put('frontend_theme', 'swiss', 'site', 'string', true);
$settings->put('backend_theme', 'admin', 'site', 'string', true);
expect($settings->site())
->frontend_theme->toBe('swiss')
->backend_theme->toBe('admin');
expect(app(Stylist::class)->frontend()->key())->toBe('swiss')
->and(app(Stylist::class)->backend()->key())->toBe('admin');
});
it('falls back to configured themes when stored theme keys are unavailable', function (): void {
$settings = app(SettingsRepository::class);
$settings->put('frontend_theme', 'missing-theme', 'site', 'string', true);
$settings->put('backend_theme', 'missing-theme', 'site', 'string', true);
expect(app(Stylist::class)->frontend()->key())->toBe(config('stylist.default_frontend_theme'))
->and(app(Stylist::class)->backend()->key())->toBe(config('stylist.default_backend_theme'));
});