diff options
Diffstat (limited to 'tests/app/Http/RequestHandlers')
10 files changed, 111 insertions, 69 deletions
diff --git a/tests/app/Http/RequestHandlers/DeleteUserTest.php b/tests/app/Http/RequestHandlers/DeleteUserTest.php index 1aded01e6e..82ca2cba27 100644 --- a/tests/app/Http/RequestHandlers/DeleteUserTest.php +++ b/tests/app/Http/RequestHandlers/DeleteUserTest.php @@ -18,6 +18,8 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\RequestMethodInterface; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Services\UserService; use Fisharebest\Webtrees\TestCase; use Fisharebest\Webtrees\User; @@ -40,11 +42,11 @@ class DeleteUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn($user); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => $user->id()]); + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => $user->id()]); $handler = new DeleteUser($user_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); } /** @@ -57,7 +59,7 @@ class DeleteUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn(null); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => 98765]); + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => 98765]); $handler = new DeleteUser($user_service); $response = $handler->handle($request); } @@ -76,7 +78,7 @@ class DeleteUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn($user); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => $user->id()]); + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => $user->id()]); $handler = new DeleteUser($user_service); $handler->handle($request); } diff --git a/tests/app/Http/RequestHandlers/LoginPageTest.php b/tests/app/Http/RequestHandlers/LoginPageTest.php index 03be2d3d52..038b9e9538 100644 --- a/tests/app/Http/RequestHandlers/LoginPageTest.php +++ b/tests/app/Http/RequestHandlers/LoginPageTest.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\TestCase; use Fisharebest\Webtrees\User; use Fisharebest\Webtrees\View; @@ -37,7 +38,7 @@ class LoginPageTest extends TestCase $handler = new LoginPage(); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } /** @@ -50,6 +51,6 @@ class LoginPageTest extends TestCase $handler = new LoginPage(); $response = $handler->handle($request); - self::assertSame(self::STATUS_FOUND, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_FOUND, $response->getStatusCode()); } } diff --git a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php index 3d5fc02958..83e336c575 100644 --- a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php +++ b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php @@ -18,6 +18,8 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\RequestMethodInterface; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Auth; use Fisharebest\Webtrees\Services\UserService; use Fisharebest\Webtrees\Session; @@ -43,13 +45,13 @@ class MasqueradeAsUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn($user2); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => $user2->id()]) + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => $user2->id()]) ->withAttribute('user', $user1); $handler = new MasqueradeAsUser($user_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); self::assertSame($user2->id(), Auth::id()); self::assertSame('1', Session::get('masquerade')); } @@ -65,13 +67,13 @@ class MasqueradeAsUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn($user); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => $user->id()]) + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => $user->id()]) ->withAttribute('user', $user); $handler = new MasqueradeAsUser($user_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); self::assertNull(Session::get('masquerade')); } @@ -88,7 +90,7 @@ class MasqueradeAsUserTest extends TestCase $user_service = $this->createMock(UserService::class); $user_service->expects($this->once())->method('find')->willReturn(null); - $request = self::createRequest(self::METHOD_POST, [], ['user_id' => 2]) + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['user_id' => 2]) ->withAttribute('user', $user); $handler = new MasqueradeAsUser($user_service); diff --git a/tests/app/Http/RequestHandlers/ModuleActionTest.php b/tests/app/Http/RequestHandlers/ModuleActionTest.php index 62a0e7756f..b4946f82be 100644 --- a/tests/app/Http/RequestHandlers/ModuleActionTest.php +++ b/tests/app/Http/RequestHandlers/ModuleActionTest.php @@ -18,75 +18,87 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\GuestUser; +use Fisharebest\Webtrees\Module\AbstractModule; +use Fisharebest\Webtrees\Module\ModuleInterface; use Fisharebest\Webtrees\Services\ModuleService; use Fisharebest\Webtrees\TestCase; -use Fisharebest\Webtrees\Tree; +use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; +use function response; + /** * @covers \Fisharebest\Webtrees\Http\RequestHandlers\ModuleAction */ class ModuleActionTest extends TestCase { - protected static $uses_database = true; - /** * @return void */ public function testModuleAction(): void { - $tree = Tree::create('tree', 'tree'); - app()->instance(Tree::class, $tree); - $user = new GuestUser(); - $module_service = new ModuleService(); - $handler = new ModuleAction($module_service, $user); - $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'ged' => $tree->name()]) - ->withAttribute('module', 'faq') - ->withAttribute('action', 'Show') - ->withAttribute('tree', $tree); - - app()->instance(ServerRequestInterface::class, $request); + $module_service = $this->createMock(ModuleService::class); + $module_service + ->expects($this->once()) + ->method('findByName') + ->with('test') + ->willReturn($this->dummyModule()); + $user = new GuestUser(); + $request = self::createRequest() + ->withAttribute('module', 'test') + ->withAttribute('action', 'Test'); + $handler = new ModuleAction($module_service, $user); $response = $handler->handle($request); - $this->assertSame(self::STATUS_OK, $response->getStatusCode()); + $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); + $this->assertSame('It works!', (string) $response->getBody()); } /** * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @expectedExceptionMessage Method getFishAction() not found in faq + * @expectedExceptionMessage Method getTestingAction() not found in test * @return void */ public function testNonExistingAction(): void { - $user = new GuestUser(); - $module_service = new ModuleService(); - $handler = new ModuleAction($module_service, $user); - $request = self::createRequest(self::METHOD_GET, ['route' => 'module']) - ->withAttribute('module', 'faq') - ->withAttribute('action', 'Fish') - ; + $module_service = $this->createMock(ModuleService::class); + $module_service + ->expects($this->once()) + ->method('findByName') + ->with('test') + ->willReturn($this->dummyModule()); + + $user = new GuestUser(); + $request = self::createRequest() + ->withAttribute('module', 'test') + ->withAttribute('action', 'Testing'); + $handler = new ModuleAction($module_service, $user); $handler->handle($request); } /** * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @expectedExceptionMessage Module fish does not exist + * @expectedExceptionMessage Module test does not exist * @return void */ public function testNonExistingModule(): void { - $user = new GuestUser(); - $module_service = new ModuleService(); - $handler = new ModuleAction($module_service, $user); - $request = self::createRequest(self::METHOD_GET, ['route' => 'module']) - ->withAttribute('module', 'fish') - ->withAttribute('action', 'Show') - ; - $response = $handler->handle($request); + $module_service = $this->createMock(ModuleService::class); + $module_service + ->expects($this->once()) + ->method('findByName') + ->with('test') + ->willReturn(null); - $this->assertSame(self::STATUS_OK, $response->getStatusCode()); + $user = new GuestUser(); + $request = self::createRequest() + ->withAttribute('module', 'test') + ->withAttribute('action', 'Test'); + $handler = new ModuleAction($module_service, $user); + $handler->handle($request); } /** @@ -96,15 +108,32 @@ class ModuleActionTest extends TestCase */ public function testAdminAction(): void { - $tree = Tree::create('tree', 'tree'); - app()->instance(Tree::class, $tree); - $user = new GuestUser(); - $module_service = new ModuleService(); - $handler = new ModuleAction($module_service, $user); - $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'ged' => $tree->name()]) - ->withAttribute('module', 'faq') - ->withAttribute('action', 'Admin') - ; + $module_service = $this->createMock(ModuleService::class); + $module_service + ->expects($this->once()) + ->method('findByName') + ->with('test') + ->willReturn($this->dummyModule()); + + $user = new GuestUser(); + $request = self::createRequest() + ->withAttribute('module', 'test') + ->withAttribute('action', 'Admin'); + $handler = new ModuleAction($module_service, $user); $handler->handle($request); } + + /** + * @return ModuleInterface + */ + private function dummyModule(): ModuleInterface + { + return new class extends AbstractModule + { + public function getTestAction(ServerRequestInterface $request): ResponseInterface + { + return response('It works!'); + } + }; + } } diff --git a/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php b/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php index eca2b61faa..cb262fa51c 100644 --- a/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php +++ b/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\TestCase; use Fisharebest\Webtrees\User; @@ -35,7 +36,7 @@ class PasswordRequestPageTest extends TestCase $handler = new PasswordRequestPage(); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } /** @@ -48,6 +49,6 @@ class PasswordRequestPageTest extends TestCase $handler = new PasswordRequestPage(); $response = $handler->handle($request); - self::assertSame(self::STATUS_FOUND, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_FOUND, $response->getStatusCode()); } } diff --git a/tests/app/Http/RequestHandlers/PasswordResetPageTest.php b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php index 4e140ee1af..27956e417e 100644 --- a/tests/app/Http/RequestHandlers/PasswordResetPageTest.php +++ b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\ResetHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Http\RequestHandlers\PasswordResetPage; use Fisharebest\Webtrees\Services\UserService; use Fisharebest\Webtrees\TestCase; @@ -45,7 +46,7 @@ class PasswordResetPageTest extends TestCase $handler = new PasswordResetPage($user_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } /** @@ -60,6 +61,6 @@ class PasswordResetPageTest extends TestCase $handler = new PasswordResetPage($user_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_FOUND, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_FOUND, $response->getStatusCode()); } } diff --git a/tests/app/Http/RequestHandlers/PingTest.php b/tests/app/Http/RequestHandlers/PingTest.php index 589942c219..e7114cdec2 100644 --- a/tests/app/Http/RequestHandlers/PingTest.php +++ b/tests/app/Http/RequestHandlers/PingTest.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\Services\ServerCheckService; use Fisharebest\Webtrees\Services\UserService; use Fisharebest\Webtrees\TestCase; @@ -41,7 +42,7 @@ class PingTest extends TestCase $handler = new Ping($server_check_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertSame('OK', (string) $response->getBody()); } @@ -58,7 +59,7 @@ class PingTest extends TestCase $handler = new Ping($server_check_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertSame('WARNING', (string) $response->getBody()); } @@ -74,7 +75,7 @@ class PingTest extends TestCase $handler = new Ping($server_check_service); $response = $handler->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertSame('ERROR', (string) $response->getBody()); } } diff --git a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php index 75ba31987b..28f75e7893 100644 --- a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php +++ b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php @@ -18,6 +18,7 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\TestCase; /** @@ -33,6 +34,6 @@ class PrivacyPolicyTest extends TestCase $request = self::createRequest(); $response = app(PrivacyPolicy::class)->handle($request); - self::assertSame(self::STATUS_OK, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); } } diff --git a/tests/app/Http/RequestHandlers/SelectLanguageTest.php b/tests/app/Http/RequestHandlers/SelectLanguageTest.php index e2be952c90..30e0eb7892 100644 --- a/tests/app/Http/RequestHandlers/SelectLanguageTest.php +++ b/tests/app/Http/RequestHandlers/SelectLanguageTest.php @@ -18,6 +18,8 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\RequestMethodInterface; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\GuestUser; use Fisharebest\Webtrees\Services\UserService; use Fisharebest\Webtrees\TestCase; @@ -34,10 +36,10 @@ class SelectLanguageTest extends TestCase { $user = new GuestUser(); $handler = new SelectLanguage($user); - $request = self::createRequest(self::METHOD_POST, [], ['language' => 'fr']); + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['language' => 'fr']); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); } /** @@ -48,9 +50,9 @@ class SelectLanguageTest extends TestCase $user_service = new UserService(); $user = $user_service->create('user', 'real', 'email', 'pass'); $handler = new SelectLanguage($user); - $request = self::createRequest(self::METHOD_POST, [], ['language' => 'fr']); + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['language' => 'fr']); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); } } diff --git a/tests/app/Http/RequestHandlers/SelectThemeTest.php b/tests/app/Http/RequestHandlers/SelectThemeTest.php index 1da460c1d3..84d8def7e5 100644 --- a/tests/app/Http/RequestHandlers/SelectThemeTest.php +++ b/tests/app/Http/RequestHandlers/SelectThemeTest.php @@ -18,6 +18,8 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; +use Fig\Http\Message\RequestMethodInterface; +use Fig\Http\Message\StatusCodeInterface; use Fisharebest\Webtrees\GuestUser; use Fisharebest\Webtrees\TestCase; use Fisharebest\Webtrees\User; @@ -35,13 +37,13 @@ class SelectThemeTest extends TestCase $user = $this->createMock(GuestUser::class); $user->expects($this->once())->method('setPreference')->with('theme', 'FOO'); - $request = self::createRequest(self::METHOD_POST, [], ['theme' => 'FOO']) + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['theme' => 'FOO']) ->withAttribute('user', $user); $handler = new SelectTheme(); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); } /** @@ -52,12 +54,12 @@ class SelectThemeTest extends TestCase $user = $this->createMock(User::class); $user->expects($this->once())->method('setPreference')->with('theme', 'FOO'); - $request = self::createRequest(self::METHOD_POST, [], ['theme' => 'FOO']) + $request = self::createRequest(RequestMethodInterface::METHOD_POST, [], ['theme' => 'FOO']) ->withAttribute('user', $user); $handler = new SelectTheme(); $response = $handler->handle($request); - self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode()); + self::assertSame(StatusCodeInterface::STATUS_NO_CONTENT, $response->getStatusCode()); } } |
