ldc-sitemap-generator/tests/Unit/Localizers/DefaultRouteLocalizersTest.php

49 lines
1.2 KiB
PHP
Raw Permalink Normal View History

<?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();
});
});