ldc-sitemap-generator/tests/Unit/Localizers/DefaultRouteLocalizersTest.php
Jérémy Munsch 4e8c58d5f9
refactor: refactoring et ajout de tests, la dependance pour traduire les routes est vraiment optionnelle.
- Ajout de jobs de lint, test, ci
- Refactoring de code
- montée de version sur laravel 13 uniquement et php8.5
2026-10-15 10:18:25 +02:00

48 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Uwil\SitemapGenerator\Tests\Unit\Localizers;
use Illuminate\Support\Facades\Route;
use Uwil\SitemapGenerator\Localizers\DefaultRouteLocalizer;
covers(DefaultRouteLocalizer::class);
describe('DefaultRouteLocalizer', function () {
it('can be used unconditionally', function () {
// GIVEN
$localizer = new DefaultRouteLocalizer();
// WHEN
$canBeUsed = $localizer->canBeUsed();
// THEN
expect($canBeUsed)->toBeTrue();
});
it('returns localized url for existing route with locale parameter', function () {
// GIVEN
Route::name('about')->get('/{locale}/about', fn () => 'about');
$localizer = new DefaultRouteLocalizer();
// WHEN
$url = $localizer->getLocalizedUrl('fr', 'about');
// THEN
expect($url)->not->toBeNull()
->and((string) $url)->toBe('http://localhost/fr/about');
});
it('returns null when route does not exist', function () {
// GIVEN
$localizer = new DefaultRouteLocalizer();
// WHEN
$url = $localizer->getLocalizedUrl('fr', 'non-existing-route');
// THEN
expect($url)->toBeNull();
});
});