diff --git a/src/Middleware/LegacyMiddleware.php b/src/Middleware/LegacyMiddleware.php index 78132815..233f66b2 100644 --- a/src/Middleware/LegacyMiddleware.php +++ b/src/Middleware/LegacyMiddleware.php @@ -83,9 +83,12 @@ class LegacyMiddleware implements MiddlewareInterface } if (empty($title) and empty($content)) { + /** @var Translator $translator */ + $translator = $this->container->get('translator'); + $page = 404; - $title = _('Page not found'); - $content = _('This page could not be found or you don\'t have permission to view it. You probably have to sign in or register in order to gain access!'); + $title = $translator->translate('Page not found'); + $content = $translator->translate('This page could not be found or you don\'t have permission to view it. You probably have to sign in or register in order to gain access!'); } return $this->renderPage($page, $title, $content); diff --git a/tests/Unit/Middleware/LegacyMiddlewareTest.php b/tests/Unit/Middleware/LegacyMiddlewareTest.php index ed9a5a74..09674a59 100644 --- a/tests/Unit/Middleware/LegacyMiddlewareTest.php +++ b/tests/Unit/Middleware/LegacyMiddlewareTest.php @@ -2,6 +2,7 @@ namespace Engelsystem\Test\Unit\Middleware; +use Engelsystem\Helpers\Translator; use Engelsystem\Http\Request; use Engelsystem\Middleware\LegacyMiddleware; use PHPUnit\Framework\TestCase; @@ -37,6 +38,10 @@ class LegacyMiddlewareTest extends TestCase $handler = $this->getMockForAbstractClass(RequestHandlerInterface::class); /** @var ServerRequestInterface|MockObject $request */ $request = $this->getMockForAbstractClass(ServerRequestInterface::class); + /** @var Translator|MockObject $translator */ + $translator = $this->getMockBuilder(Translator::class) + ->disableOriginalConstructor() + ->getMock(); $middleware->expects($this->exactly(2)) ->method('loadPage') @@ -50,15 +55,27 @@ class LegacyMiddlewareTest extends TestCase ->method('renderPage') ->withConsecutive( ['user_worklog', 'title', 'content'], - ['404', 'Page not found'], + ['404', 'Page not found', 'It\'s not available!'], ['login', 'title2', 'content2'] ) ->willReturn($response); - $container->expects($this->atLeastOnce()) + $container->expects($this->exactly(4)) ->method('get') - ->with('request') - ->willReturn($defaultRequest); + ->withConsecutive(['request'], ['request'], ['translator'], ['request']) + ->willReturnOnConsecutiveCalls( + $defaultRequest, + $defaultRequest, + $translator, + $defaultRequest + ); + + $translator->expects($this->exactly(2)) + ->method('translate') + ->willReturnOnConsecutiveCalls( + 'Page not found', + 'It\'s not available!' + ); $defaultRequest->query = $parameters; $defaultRequest->expects($this->once())