Skip to content

Commit b56f3a8

Browse files
committed
Expanded the middleware test
1 parent e9ac014 commit b56f3a8

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

app/Http/Middleware/LanguageMiddleware.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function __construct(Application $app, Repository $config)
4848
*/
4949
public function handle(Request $request, Closure $next)
5050
{
51-
$this->app->setLocale($request->user()->language ?? $this->config->get('app.locale'));
51+
$this->app->setLocale($request->user()->language ?? $this->config->get('app.locale', 'en'));
5252

5353
return $next($request);
5454
}

tests/Unit/Http/Middleware/LanguageMiddlewareTest.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Illuminate\Foundation\Application;
77
use Illuminate\Contracts\Config\Repository;
88
use Pterodactyl\Http\Middleware\LanguageMiddleware;
9+
use Pterodactyl\Models\User;
910

1011
class LanguageMiddlewareTest extends MiddlewareTestCase
1112
{
@@ -31,16 +32,30 @@ public function setUp()
3132
}
3233

3334
/**
34-
* Test that a language is defined via the middleware.
35+
* Test that a language is defined via the middleware for guests.
3536
*/
36-
public function testLanguageIsSet()
37+
public function testLanguageIsSetForGuest()
3738
{
39+
$this->request->shouldReceive('user')->withNoArgs()->andReturnNull();
40+
3841
$this->config->shouldReceive('get')->with('app.locale', 'en')->once()->andReturn('en');
3942
$this->appMock->shouldReceive('setLocale')->with('en')->once()->andReturnNull();
4043

4144
$this->getMiddleware()->handle($this->request, $this->getClosureAssertions());
4245
}
4346

47+
/**
48+
* Test that a language is defined via the middleware for a user.
49+
*/
50+
public function testLanguageIsSetWithAuthenticatedUser() {
51+
$user = factory(User::class)->make(['language' => 'de']);
52+
53+
$this->request->shouldReceive('user')->withNoArgs()->andReturn($user);
54+
$this->appMock->shouldReceive('setLocale')->with('de')->once()->andReturnNull();
55+
56+
$this->getMiddleware()->handle($this->request, $this->getClosureAssertions());
57+
}
58+
4459
/**
4560
* Return an instance of the middleware using mocked dependencies.
4661
*

0 commit comments

Comments
 (0)