From 6ed891fc0416e8025f929cf60a07b1020118b221 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Thu, 25 Oct 2018 18:53:05 +0200 Subject: Added logout via AuthController --- tests/Unit/Controllers/AuthControllerTest.php | 42 ++++++++++++++++++++++ tests/Unit/Controllers/CreditsControllerTest.php | 2 +- tests/Unit/Http/ResponseTest.php | 19 ++++++++++ .../Unit/Http/UrlGeneratorServiceProviderTest.php | 4 ++- 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 tests/Unit/Controllers/AuthControllerTest.php (limited to 'tests/Unit') diff --git a/tests/Unit/Controllers/AuthControllerTest.php b/tests/Unit/Controllers/AuthControllerTest.php new file mode 100644 index 00000000..c5349cda --- /dev/null +++ b/tests/Unit/Controllers/AuthControllerTest.php @@ -0,0 +1,42 @@ +createMock(Response::class); + /** @var SessionInterface|MockObject $session */ + $session = $this->getMockForAbstractClass(SessionInterface::class); + /** @var UrlGeneratorInterface|MockObject $url */ + $url = $this->getMockForAbstractClass(UrlGeneratorInterface::class); + + $session->expects($this->once()) + ->method('invalidate'); + + $response->expects($this->once()) + ->method('redirectTo') + ->with('https://foo.bar/'); + + $url->expects($this->once()) + ->method('to') + ->with('/') + ->willReturn('https://foo.bar/'); + + $controller = new AuthController($response, $session, $url); + $controller->logout(); + } +} diff --git a/tests/Unit/Controllers/CreditsControllerTest.php b/tests/Unit/Controllers/CreditsControllerTest.php index 3ce92cb1..42ea4ea1 100644 --- a/tests/Unit/Controllers/CreditsControllerTest.php +++ b/tests/Unit/Controllers/CreditsControllerTest.php @@ -1,6 +1,6 @@ withView('foo'); } + + /** + * @covers \Engelsystem\Http\Response::redirectTo + */ + public function testRedirectTo() + { + $response = new Response(); + $newResponse = $response->redirectTo('http://foo.bar/lorem', 301, ['test' => 'ing']); + + $this->assertNotEquals($response, $newResponse); + $this->assertEquals(301, $newResponse->getStatusCode()); + $this->assertArraySubset( + [ + 'location' => ['http://foo.bar/lorem'], + 'test' => ['ing'], + ], + $newResponse->getHeaders() + ); + } } diff --git a/tests/Unit/Http/UrlGeneratorServiceProviderTest.php b/tests/Unit/Http/UrlGeneratorServiceProviderTest.php index c396c05a..61bf3e7c 100644 --- a/tests/Unit/Http/UrlGeneratorServiceProviderTest.php +++ b/tests/Unit/Http/UrlGeneratorServiceProviderTest.php @@ -3,6 +3,7 @@ namespace Engelsystem\Test\Unit\Http; use Engelsystem\Http\UrlGenerator; +use Engelsystem\Http\UrlGeneratorInterface; use Engelsystem\Http\UrlGeneratorServiceProvider; use Engelsystem\Test\Unit\ServiceProviderTest; use PHPUnit\Framework\MockObject\MockObject; @@ -25,7 +26,8 @@ class UrlGeneratorServiceProviderTest extends ServiceProviderTest ->method('instance') ->withConsecutive( [UrlGenerator::class, $urlGenerator], - ['http.urlGenerator', $urlGenerator] + ['http.urlGenerator', $urlGenerator], + [UrlGeneratorInterface::class, $urlGenerator] ); $serviceProvider = new UrlGeneratorServiceProvider($app); -- cgit v1.2.3-54-g00ecf