diff options
Diffstat (limited to 'tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php')
-rw-r--r-- | tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php b/tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php index 0a72c0e7..b67d4eed 100644 --- a/tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php +++ b/tests/Unit/Renderer/Twig/Extensions/AuthenticationTest.php @@ -2,16 +2,23 @@ namespace Engelsystem\Test\Unit\Renderer\Twig\Extensions; +use Engelsystem\Helpers\Authenticator; +use Engelsystem\Models\User\User; use Engelsystem\Renderer\Twig\Extensions\Authentication; +use PHPUnit\Framework\MockObject\MockObject; class AuthenticationTest extends ExtensionTest { /** + * @covers \Engelsystem\Renderer\Twig\Extensions\Authentication::__construct * @covers \Engelsystem\Renderer\Twig\Extensions\Authentication::getFunctions */ public function testGetFunctions() { - $extension = new Authentication(); + /** @var Authenticator|MockObject $auth */ + $auth = $this->createMock(Authenticator::class); + + $extension = new Authentication($auth); $functions = $extension->getFunctions(); $this->assertExtensionExists('is_user', [$extension, 'isAuthenticated'], $functions); @@ -25,15 +32,24 @@ class AuthenticationTest extends ExtensionTest */ public function testIsAuthenticated() { - global $user; - $user = []; + /** @var Authenticator|MockObject $auth */ + $auth = $this->createMock(Authenticator::class); + $user = new User(); + + $auth->expects($this->exactly(4)) + ->method('user') + ->willReturnOnConsecutiveCalls( + null, + null, + $user, + $user + ); - $extension = new Authentication(); + $extension = new Authentication($auth); $this->assertFalse($extension->isAuthenticated()); $this->assertTrue($extension->isGuest()); - $user = ['lorem' => 'ipsum']; $this->assertTrue($extension->isAuthenticated()); $this->assertFalse($extension->isGuest()); } @@ -46,7 +62,10 @@ class AuthenticationTest extends ExtensionTest global $privileges; $privileges = []; - $extension = new Authentication(); + /** @var Authenticator|MockObject $auth */ + $auth = $this->createMock(Authenticator::class); + + $extension = new Authentication($auth); $this->assertFalse($extension->checkAuth('foo.bar')); |