summaryrefslogtreecommitdiff
path: root/tests/app/Http/RequestHandlers
diff options
context:
space:
mode:
Diffstat (limited to 'tests/app/Http/RequestHandlers')
-rw-r--r--tests/app/Http/RequestHandlers/DeleteUserTest.php10
-rw-r--r--tests/app/Http/RequestHandlers/LoginPageTest.php5
-rw-r--r--tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php12
-rw-r--r--tests/app/Http/RequestHandlers/ModuleActionTest.php113
-rw-r--r--tests/app/Http/RequestHandlers/PasswordRequestPageTest.php5
-rw-r--r--tests/app/Http/RequestHandlers/PasswordResetPageTest.php5
-rw-r--r--tests/app/Http/RequestHandlers/PingTest.php7
-rw-r--r--tests/app/Http/RequestHandlers/PrivacyPolicyTest.php3
-rw-r--r--tests/app/Http/RequestHandlers/SelectLanguageTest.php10
-rw-r--r--tests/app/Http/RequestHandlers/SelectThemeTest.php10
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());
}
}