Skip to content

Commit b89f5e4

Browse files
committed
Generate URs via URL facade instead of route() helper
This makes it easier to to test without overriding Laravel's helpers.
1 parent 82ee57a commit b89f5e4

File tree

4 files changed

+134
-131
lines changed

4 files changed

+134
-131
lines changed

src/LocalizedUrlGenerator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use CodeZero\LocalizedRoutes\Facades\LocaleConfig;
66
use CodeZero\UrlBuilder\UrlBuilder;
7+
use Illuminate\Support\Facades\URL;
78
use InvalidArgumentException;
89
use Illuminate\Support\Collection;
910
use Illuminate\Support\Facades\App;
@@ -116,7 +117,7 @@ public function generateFromRequest(string $locale = null, $parameters = null, b
116117
protected function generateNamedRouteURL(string $locale, array $parameters = [], bool $absolute = true): string
117118
{
118119
try {
119-
return route($this->route->getName(), $parameters, $absolute, $locale);
120+
return URL::route($this->route->getName(), $parameters, $absolute, $locale);
120121
} catch (InvalidArgumentException $e) {
121122
return '';
122123
}

tests/Unit/HelpersFileTest.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use CodeZero\LocalizedRoutes\Tests\TestCase;
66
use Illuminate\Support\Facades\Route;
7+
use Illuminate\Support\Facades\URL;
78
use Symfony\Component\Routing\Exception\RouteNotFoundException;
89

910
class HelpersFileTest extends TestCase
@@ -18,9 +19,9 @@ function it_returns_localized_routes_with_locale_argument(): void
1819
Route::get('route')->name('route');
1920
});
2021

21-
$this->assertEquals(url('en/route'), route('route', [], true, null));
22-
$this->assertEquals(url('en/route'), route('route', [], true, 'en'));
23-
$this->assertEquals(url('nl/route'), route('route', [], true, 'nl'));
22+
$this->assertEquals(URL::to('en/route'), URL::route('route', [], true, null));
23+
$this->assertEquals(URL::to('en/route'), URL::route('route', [], true, 'en'));
24+
$this->assertEquals(URL::to('nl/route'), URL::route('route', [], true, 'nl'));
2425
}
2526

2627
/** @test */
@@ -35,7 +36,7 @@ function it_throws_when_route_helper_locale_is_unsupported(): void
3536

3637
$this->expectException(RouteNotFoundException::class);
3738

38-
route('route', [], true, 'wk');
39+
URL::route('route', [], true, 'wk');
3940
}
4041

4142
/** @test */
@@ -49,8 +50,8 @@ function it_uses_fallback_locale_when_route_helper_locale_is_unsupported(): void
4950
Route::get('route')->name('route');
5051
});
5152

52-
$this->assertEquals(url('en/route'), route('route', [], true, 'en'));
53-
$this->assertEquals(url('nl/route'), route('route', [], true, 'nl'));
54-
$this->assertEquals(url('en/route'), route('route', [], true, 'wk'));
53+
$this->assertEquals(URL::to('en/route'), URL::route('route', [], true, 'en'));
54+
$this->assertEquals(URL::to('nl/route'), URL::route('route', [], true, 'nl'));
55+
$this->assertEquals(URL::to('en/route'), URL::route('route', [], true, 'wk'));
5556
}
5657
}

0 commit comments

Comments
 (0)