summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/TestCase.php5
-rw-r--r--tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php6
-rw-r--r--tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php4
-rw-r--r--tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php6
-rw-r--r--tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php6
-rw-r--r--tests/app/Http/Controllers/Admin/LocationControllerTest.php16
-rw-r--r--tests/app/Http/Controllers/Admin/MapProviderControllerTest.php4
-rw-r--r--tests/app/Http/Controllers/Admin/MediaControllerTest.php14
-rw-r--r--tests/app/Http/Controllers/Admin/ModuleControllerTest.php50
-rw-r--r--tests/app/Http/Controllers/Admin/UpgradeControllerTest.php30
-rw-r--r--tests/app/Http/Controllers/Admin/UsersControllerTest.php16
-rw-r--r--tests/app/Http/Controllers/CalendarControllerTest.php12
-rw-r--r--tests/app/Http/Middleware/CheckCsrfTest.php2
-rw-r--r--tests/app/Http/RequestHandlers/DeleteUserTest.php38
-rw-r--r--tests/app/Http/RequestHandlers/LoginPageTest.php55
-rw-r--r--tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php54
-rw-r--r--tests/app/Http/RequestHandlers/ModuleActionTest.php8
-rw-r--r--tests/app/Http/RequestHandlers/PasswordRequestPageTest.php53
-rw-r--r--tests/app/Http/RequestHandlers/PasswordResetPageTest.php65
-rw-r--r--tests/app/Http/RequestHandlers/PingTest.php53
-rw-r--r--tests/app/Http/RequestHandlers/PrivacyPolicyTest.php4
-rw-r--r--tests/app/Http/RequestHandlers/SelectLanguageTest.php6
-rw-r--r--tests/app/Http/RequestHandlers/SelectThemeTest.php29
-rw-r--r--tests/feature/IndividualListTest.php10
-rw-r--r--tests/feature/UserAdminTest.php2
25 files changed, 380 insertions, 168 deletions
diff --git a/tests/TestCase.php b/tests/TestCase.php
index b47ed389b4..326783bff8 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -17,6 +17,7 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees;
+use Fig\Http\Message\RequestMethodInterface;
use Fig\Http\Message\StatusCodeInterface;
use Fisharebest\Localization\Locale\LocaleEnUs;
use Fisharebest\Localization\Locale\LocaleInterface;
@@ -54,7 +55,7 @@ use const UPLOAD_ERR_OK;
/**
* Base class for unit tests
*/
-class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterface
+class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterface, RequestMethodInterface
{
/** @var object */
public static $mock_functions;
@@ -131,7 +132,7 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
*
* @return ServerRequestInterface
*/
- protected static function createRequest(string $method = 'GET', array $query = [], array $params = [], array $files = []): ServerRequestInterface
+ protected static function createRequest(string $method = self::METHOD_GET, array $query = [], array $params = [], array $files = []): ServerRequestInterface
{
/** @var ServerRequestFactoryInterface */
$server_request_factory = app(ServerRequestFactoryInterface::class);
diff --git a/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php b/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
index 727f4ef356..43a845e849 100644
--- a/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
@@ -41,7 +41,7 @@ class ChangesLogControllerTest extends TestCase
{
app()->instance(Tree::class, Tree::create('', ''));
- $request = self::createRequest('GET', ['route' => 'admin-changes-log']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-changes-log']);
$response = app(ChangesLogController::class)->changesLog($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -57,7 +57,7 @@ class ChangesLogControllerTest extends TestCase
Auth::login($user);
$individual = $tree->createIndividual("0 @@ INDI\n1 NAME Joe Bloggs");
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-changes-log-data',
'search' => 'Joe',
'from' => '2000-01-01',
@@ -82,7 +82,7 @@ class ChangesLogControllerTest extends TestCase
Auth::login($user);
$tree->createIndividual("0 @@ INDI\n1 NAME Joe Bloggs");
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-changes-log-download',
'ged' => $tree->name(),
]);
diff --git a/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php b/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
index bb351d8c84..5e41336d13 100644
--- a/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
@@ -39,7 +39,7 @@ class ControlPanelControllerTest extends TestCase
{
app()->instance(Tree::class, Tree::create('', ''));
- $request = self::createRequest('GET', ['route' => 'control-panel']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'control-panel']);
$response = app(ControlPanelController::class)->controlPanel($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -50,7 +50,7 @@ class ControlPanelControllerTest extends TestCase
*/
public function testControlPanelManager(): void
{
- $request = self::createRequest('GET', ['route' => 'control-panel']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'control-panel']);
$response = app(ControlPanelController::class)->controlPanelManager($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php b/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php
index 144c819993..9b57c38f31 100644
--- a/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php
@@ -37,7 +37,7 @@ class FixLevel0MediaControllerTest extends TestCase
public function testFixLevel0Media(): void
{
$controller = new FixLevel0MediaController(new DatatablesService());
- $request = self::createRequest('GET', ['route' => 'admin-fix-level-0-media']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-fix-level-0-media']);
$response = $controller->fixLevel0Media($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -50,7 +50,7 @@ class FixLevel0MediaControllerTest extends TestCase
{
$tree = Tree::create('name', 'title');
$controller = new FixLevel0MediaController(new DatatablesService());
- $request = self::createRequest('POST', ['route' => 'admin-fix-level-0-media'], [
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-fix-level-0-media'], [
'tree_id' => $tree->id(),
'fact_id' => '',
'indi_xref' => '',
@@ -69,7 +69,7 @@ class FixLevel0MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$tree = Tree::create('name', 'title');
$controller = new FixLevel0MediaController($datatables_service);
- $request = self::createRequest('GET', ['route' => 'admin-fix-level-0-media-data', ['tree_id' => $tree->id()]]);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-fix-level-0-media-data', ['tree_id' => $tree->id()]]);
$response = $controller->fixLevel0MediaData($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php b/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php
index 079537e58c..65dd4486b7 100644
--- a/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php
@@ -35,7 +35,7 @@ class ImportThumbnailsControllerTest extends TestCase
public function testWebtrees1Thumbnails(): void
{
$controller = new ImportThumbnailsController();
- $request = self::createRequest('GET', ['route' => 'admin-webtrees1-thumbs']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-webtrees1-thumbs']);
$response = $controller->webtrees1Thumbnails($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -47,7 +47,7 @@ class ImportThumbnailsControllerTest extends TestCase
public function testWebtrees1ThumbnailsAction(): void
{
$controller = new ImportThumbnailsController();
- $request = self::createRequest('POST', ['route' => 'admin-webtrees1-thumbs-action'], [
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-webtrees1-thumbs-action'], [
'thumbnail' => 'foo',
'action' => '',
'xref' => [],
@@ -64,7 +64,7 @@ class ImportThumbnailsControllerTest extends TestCase
public function testWebtrees1ThumbnailsData(): void
{
$controller = new ImportThumbnailsController();
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-webtrees1-thumbs-data',
'start' => '0',
'length' => '10',
diff --git a/tests/app/Http/Controllers/Admin/LocationControllerTest.php b/tests/app/Http/Controllers/Admin/LocationControllerTest.php
index 74682bd424..8078a14dde 100644
--- a/tests/app/Http/Controllers/Admin/LocationControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/LocationControllerTest.php
@@ -39,7 +39,7 @@ class LocationControllerTest extends TestCase
public function testMapData(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('GET', ['route' => 'map-data']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'map-data']);
$response = $controller->mapData($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -51,7 +51,7 @@ class LocationControllerTest extends TestCase
public function testMapDataEdit(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('GET', ['route' => 'map-data-edit', 'place_id' => '0', 'parent_id' => '0']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'map-data-edit', 'place_id' => '0', 'parent_id' => '0']);
$response = $controller->mapDataEdit($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -63,7 +63,7 @@ class LocationControllerTest extends TestCase
public function testMapDataSave(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('POST', [
+ $request = self::createRequest(self::METHOD_POST, [
'route' => 'map-data-edit',
'parent_id' => '0',
'place_id' => '0',
@@ -87,7 +87,7 @@ class LocationControllerTest extends TestCase
public function testMapDataDelete(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('POST', ['route' => 'map-data-delete', 'parent_id' => '0', 'place_id' => '0']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'map-data-delete', 'parent_id' => '0', 'place_id' => '0']);
$response = $controller->mapDataDelete($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -99,7 +99,7 @@ class LocationControllerTest extends TestCase
public function testExportLocations(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('GET', ['route' => 'locations-export', 'parent_id' => '0', 'format' => 'geojson']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'locations-export', 'parent_id' => '0', 'format' => 'geojson']);
$response = $controller->exportLocations($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -112,7 +112,7 @@ class LocationControllerTest extends TestCase
public function testImportLocations(): void
{
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('GET', ['route' => 'locations-import','parent_id' => '0']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'locations-import','parent_id' => '0']);
$response = $controller->importLocations($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -125,7 +125,7 @@ class LocationControllerTest extends TestCase
{
$csv = $this->createUploadedFile(dirname(__DIR__, 4) . '/data/places.csv', 'text/csv');
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('POST', ['route' => 'locations-import','parent_id' => '0'], [], ['csv' => $csv]);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'locations-import','parent_id' => '0'], [], ['csv' => $csv]);
$response = $controller->importLocationsAction($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -138,7 +138,7 @@ class LocationControllerTest extends TestCase
{
$tree = Tree::create('name', 'title');
$controller = new LocationController(new GedcomService());
- $request = self::createRequest('POST', ['route' => 'locations-import-from-tree'])
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'locations-import-from-tree'])
->withAttribute('tree', $tree);
$response = $controller->importLocationsFromTree($request);
diff --git a/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php b/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
index 37af05b096..812369ff21 100644
--- a/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
@@ -35,7 +35,7 @@ class MapProviderControllerTest extends TestCase
public function testMapProviderEdit(): void
{
$controller = new MapProviderController();
- $request = self::createRequest('GET', ['route' => 'map-provider']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'map-provider']);
$response = $controller->mapProviderEdit($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -47,7 +47,7 @@ class MapProviderControllerTest extends TestCase
public function testMapProviderSave(): void
{
$controller = new MapProviderController();
- $request = self::createRequest('POST', ['route' => 'map-provider'], ['provider' => '', 'geonames' => '']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'map-provider'], ['provider' => '', 'geonames' => '']);
$response = $controller->mapProviderSave($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/MediaControllerTest.php b/tests/app/Http/Controllers/Admin/MediaControllerTest.php
index b986e3c07a..fce2dc3715 100644
--- a/tests/app/Http/Controllers/Admin/MediaControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/MediaControllerTest.php
@@ -40,7 +40,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('GET', ['route' => 'admin-media']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-media']);
$response = $controller->index($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -54,7 +54,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-media-data',
'files' => 'local',
'media_folder' => '',
@@ -76,7 +76,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-media-external',
'files' => 'local',
'media_folder' => '',
@@ -98,7 +98,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'admin-media-unused',
'files' => 'local',
'media_folder' => '',
@@ -120,7 +120,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('POST', ['route' => 'admin-media-delete', 'file' => 'foo', 'folder' => 'bar']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-media-delete', 'file' => 'foo', 'folder' => 'bar']);
$response = $controller->delete($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -134,7 +134,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('GET', ['route' => 'admin-media-upload']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-media-upload']);
$response = $controller->upload($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -148,7 +148,7 @@ class MediaControllerTest extends TestCase
$datatables_service = new DatatablesService();
$filesystem = new Filesystem(new MemoryAdapter());
$controller = new MediaController($datatables_service, $filesystem);
- $request = self::createRequest('POST', ['route' => 'admin-media-delete']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-media-delete']);
$response = $controller->uploadAction($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/ModuleControllerTest.php b/tests/app/Http/Controllers/Admin/ModuleControllerTest.php
index 66fedd04a8..07c339cb34 100644
--- a/tests/app/Http/Controllers/Admin/ModuleControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ModuleControllerTest.php
@@ -37,7 +37,7 @@ class ModuleControllerTest extends TestCase
public function testList(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'modules']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'modules']);
$response = $controller->list($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -49,7 +49,7 @@ class ModuleControllerTest extends TestCase
public function testListAnalytics(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'analytics']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'analytics']);
$response = $controller->listAnalytics($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -61,7 +61,7 @@ class ModuleControllerTest extends TestCase
public function testListBlocks(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'blocks']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'blocks']);
$response = $controller->listBlocks($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -73,7 +73,7 @@ class ModuleControllerTest extends TestCase
public function testListCharts(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'charts']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'charts']);
$response = $controller->listCharts($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -85,7 +85,7 @@ class ModuleControllerTest extends TestCase
public function testListFooters(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'footers']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'footers']);
$response = $controller->listFooters($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -97,7 +97,7 @@ class ModuleControllerTest extends TestCase
public function testListHistory(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'history']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'history']);
$response = $controller->listHistory($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -109,7 +109,7 @@ class ModuleControllerTest extends TestCase
public function testListLanguages(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'languages']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'languages']);
$response = $controller->listLanguages($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -121,7 +121,7 @@ class ModuleControllerTest extends TestCase
public function testListMenus(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'menus']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'menus']);
$response = $controller->listMenus($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -133,7 +133,7 @@ class ModuleControllerTest extends TestCase
public function testListReports(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'reports']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'reports']);
$response = $controller->listReports($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -145,7 +145,7 @@ class ModuleControllerTest extends TestCase
public function testListSidebars(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'sidebars']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'sidebars']);
$response = $controller->listSidebars($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -157,7 +157,7 @@ class ModuleControllerTest extends TestCase
public function testListTabs(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'tabs']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'tabs']);
$response = $controller->listTabs($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -169,7 +169,7 @@ class ModuleControllerTest extends TestCase
public function testListThemes(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('GET', ['route' => 'themes']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'themes']);
$response = $controller->listThemes($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -182,7 +182,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'modules']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'modules']);
$response = $controller->update($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -195,7 +195,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'analytics']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'analytics']);
$response = $controller->updateAnalytics($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -208,7 +208,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'blocks']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'blocks']);
$response = $controller->updateBlocks($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -221,7 +221,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'charts']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'charts']);
$response = $controller->updateCharts($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -234,7 +234,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'footers']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'footers']);
$response = $controller->updateFooters($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -247,7 +247,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'history']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'history']);
$response = $controller->updateHistory($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -260,7 +260,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'languages']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'languages']);
$response = $controller->updateLanguages($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -273,7 +273,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'menus']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'menus']);
$response = $controller->updateMenus($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -286,7 +286,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'reports']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'reports']);
$response = $controller->updateReports($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -299,7 +299,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'sidebars']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'sidebars']);
$response = $controller->updateSidebars($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -312,7 +312,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'tabs']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'tabs']);
$response = $controller->updateTabs($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -325,7 +325,7 @@ class ModuleControllerTest extends TestCase
{
Tree::create('name', 'title');
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'themes']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'themes']);
$response = $controller->updateThemes($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
@@ -337,7 +337,7 @@ class ModuleControllerTest extends TestCase
public function testDeleteModuleSettings(): void
{
$controller = new ModuleController(new ModuleService());
- $request = self::createRequest('POST', ['route' => 'delete-module-settings'], ['module_name' => 'foo']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'delete-module-settings'], ['module_name' => 'foo']);
$response = $controller->deleteModuleSettings($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php b/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
index 25e1c291ea..357c79ff05 100644
--- a/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
@@ -48,7 +48,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('GET', ['route' => 'wizard']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'wizard']);
$response = $controller->wizard($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -66,7 +66,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('GET', ['route' => 'wizard', 'continue' => '1']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'wizard', 'continue' => '1']);
$response = $controller->wizard($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -83,7 +83,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Invalid']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Invalid']);
$controller->step($request);
}
@@ -99,7 +99,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Check']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -118,7 +118,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Check']);
$controller->step($request);
}
@@ -135,7 +135,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Check']);
$controller->step($request);
}
@@ -149,7 +149,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Prepare']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Prepare']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -165,7 +165,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Pending']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Pending']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -187,7 +187,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Pending']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Pending']);
$controller->step($request);
}
@@ -202,7 +202,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Export'])
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Export'])
->withAttribute('tree', $tree);
$response = $controller->step($request);
@@ -227,7 +227,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Download']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Download']);
$controller->step($request);
}
@@ -243,7 +243,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Download']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Download']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -261,7 +261,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Unzip']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Unzip']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -277,7 +277,7 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Copy']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Copy']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -294,7 +294,7 @@ class UpgradeControllerTest extends TestCase
$mock_upgrade_service
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Cleanup']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'wizard', 'step' => 'Cleanup']);
$response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/Admin/UsersControllerTest.php b/tests/app/Http/Controllers/Admin/UsersControllerTest.php
index 5252775ab5..42e2860062 100644
--- a/tests/app/Http/Controllers/Admin/UsersControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/UsersControllerTest.php
@@ -43,7 +43,7 @@ class UsersControllerTest extends TestCase
public function testIndex(): void
{
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['route' => 'admin-users'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-users'])
->withAttribute('user', Auth::user());
$response = $controller->index($request);
@@ -56,7 +56,7 @@ class UsersControllerTest extends TestCase
public function testData(): void
{
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['route' => 'admin-users-data']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-users-data']);
$response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -68,7 +68,7 @@ class UsersControllerTest extends TestCase
public function testCreate(): void
{
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['route' => 'admin-users-create']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-users-create']);
$response = $controller->create($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -80,7 +80,7 @@ class UsersControllerTest extends TestCase
public function testSave(): void
{
$controller = app(UsersController::class);
- $request = self::createRequest('POST', ['route' => 'admin-users-create'], [
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-users-create'], [
'username' => 'User name',
'email' => 'email@example.com',
'real_name' => 'Real Name',
@@ -98,7 +98,7 @@ class UsersControllerTest extends TestCase
{
$user = (new UserService())->create('user', 'real', 'email', 'pass');
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['route' => 'admin-users-edit', 'user_id' => (string) $user->id()]);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-users-edit', 'user_id' => (string) $user->id()]);
$response = $controller->edit($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -112,7 +112,7 @@ class UsersControllerTest extends TestCase
/** @var User $user */
$user = app(UserService::class)->create('user', 'real', 'email', 'pass');
$controller = app(UsersController::class);
- $request = self::createRequest('POST', ['route' => 'admin-users-edit'], [
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-users-edit'], [
'user_id' => $user->id(),
'username' => '',
'real_name' => '',
@@ -141,7 +141,7 @@ class UsersControllerTest extends TestCase
public function testCleanup(): void
{
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['route' => 'admin-users-cleanup']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'admin-users-cleanup']);
$response = $controller->cleanup($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -157,7 +157,7 @@ class UsersControllerTest extends TestCase
$module_service = new ModuleService();
$user_service = new UserService();
$controller = new UsersController($datatables_service, $mail_service, $module_service, $user_service);
- $request = self::createRequest('POST', ['route' => 'admin-users-cleanup']);
+ $request = self::createRequest(self::METHOD_POST, ['route' => 'admin-users-cleanup']);
$response = $controller->cleanupAction($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
diff --git a/tests/app/Http/Controllers/CalendarControllerTest.php b/tests/app/Http/Controllers/CalendarControllerTest.php
index ef39ef2065..e8fd23b6ea 100644
--- a/tests/app/Http/Controllers/CalendarControllerTest.php
+++ b/tests/app/Http/Controllers/CalendarControllerTest.php
@@ -48,32 +48,32 @@ class CalendarControllerTest extends \Fisharebest\Webtrees\TestCase
$localization_service = new LocalizationService(new LocaleEnUs());
$controller = new CalendarController($calendar_service, $localization_service);
- $request = self::createRequest('GET', ['route' => 'calendar', 'view' => 'day'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar', 'view' => 'day'])
->withAttribute('tree', $tree);
$response = $controller->page($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'calendar-events', 'view' => 'day'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar-events', 'view' => 'day'])
->withAttribute('tree', $tree);
$response = $controller->calendar($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'calendar', 'view' => 'month'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar', 'view' => 'month'])
->withAttribute('tree', $tree);
$response = $controller->page($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'calendar-events', 'view' => 'month'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar-events', 'view' => 'month'])
->withAttribute('tree', $tree);
$response = $controller->calendar($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'calendar', 'view' => 'year'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar', 'view' => 'year'])
->withAttribute('tree', $tree);
$response = $controller->page($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'calendar-events', 'view' => 'year'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'calendar-events', 'view' => 'year'])
->withAttribute('tree', $tree);
$response = $controller->calendar($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
diff --git a/tests/app/Http/Middleware/CheckCsrfTest.php b/tests/app/Http/Middleware/CheckCsrfTest.php
index 2bbcbb83b3..715b8f1e49 100644
--- a/tests/app/Http/Middleware/CheckCsrfTest.php
+++ b/tests/app/Http/Middleware/CheckCsrfTest.php
@@ -38,7 +38,7 @@ class CheckCsrfTest extends TestCase
$handler = $this->createMock(RequestHandlerInterface::class);
$handler->method('handle')->willReturn(response());
- $request = self::createRequest('POST')
+ $request = self::createRequest(self::METHOD_POST)
->withAttribute('request_uri', 'http://example.com');
$middleware = new CheckCsrf();
diff --git a/tests/app/Http/RequestHandlers/DeleteUserTest.php b/tests/app/Http/RequestHandlers/DeleteUserTest.php
index 4e55d2b3b4..1aded01e6e 100644
--- a/tests/app/Http/RequestHandlers/DeleteUserTest.php
+++ b/tests/app/Http/RequestHandlers/DeleteUserTest.php
@@ -20,6 +20,7 @@ namespace Fisharebest\Webtrees\Http\RequestHandlers;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\User;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\DeleteUser
@@ -33,16 +34,17 @@ class DeleteUserTest extends TestCase
*/
public function testDeleteUser(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user1', 'real1', 'email1', 'pass1');
- $request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => $user->id()]);
- $response = app(DeleteUser::class)->handle($request);
+ $user = $this->createMock(User::class);
+ $user->method('id')->willReturn(1);
- // UserService caches user records
- app('cache.array')->forget(UserService::class . $user->id());
+ $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()]);
+ $handler = new DeleteUser($user_service);
+ $response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
- self::assertNull($user_service->find($user->id()));
}
/**
@@ -52,8 +54,12 @@ class DeleteUserTest extends TestCase
*/
public function testDeleteNonExistingUser(): void
{
- $request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => 98765]);
- app(DeleteUser::class)->handle($request);
+ $user_service = $this->createMock(UserService::class);
+ $user_service->expects($this->once())->method('find')->willReturn(null);
+
+ $request = self::createRequest(self::METHOD_POST, [], ['user_id' => 98765]);
+ $handler = new DeleteUser($user_service);
+ $response = $handler->handle($request);
}
/**
@@ -63,9 +69,15 @@ class DeleteUserTest extends TestCase
*/
public function testCannotDeleteAdministrator(): void
{
- $user = app(UserService::class)->create('user1', 'real1', 'email1', 'pass1');
- $user->setPreference('canadmin', '1');
- $request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => $user->id()]);
- app(DeleteUser::class)->handle($request);
+ $user = $this->createMock(User::class);
+ $user->method('id')->willReturn(1);
+ $user->expects($this->once())->method('getPreference')->with('canadmin')->willReturn('1');
+
+ $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()]);
+ $handler = new DeleteUser($user_service);
+ $handler->handle($request);
}
}
diff --git a/tests/app/Http/RequestHandlers/LoginPageTest.php b/tests/app/Http/RequestHandlers/LoginPageTest.php
new file mode 100644
index 0000000000..03be2d3d52
--- /dev/null
+++ b/tests/app/Http/RequestHandlers/LoginPageTest.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * webtrees: online genealogy
+ * Copyright (C) 2019 webtrees development team
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+declare(strict_types=1);
+
+namespace Fisharebest\Webtrees\Http\RequestHandlers;
+
+use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\User;
+use Fisharebest\Webtrees\View;
+
+/**
+ * @covers \Fisharebest\Webtrees\Http\RequestHandlers\LoginPage
+ */
+class LoginPageTest extends TestCase
+{
+ /**
+ * @return void
+ */
+ public function testLoginPage(): void
+ {
+ View::share('tree', null);
+ $request = self::createRequest();
+ $handler = new LoginPage();
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_OK, $response->getStatusCode());
+ }
+
+ /**
+ * @return void
+ */
+ public function testLoginPageAlreadyLoggedIn(): void
+ {
+ $user = $this->createMock(User::class);
+ $request = self::createRequest()->withAttribute('user', $user);
+ $handler = new LoginPage();
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_FOUND, $response->getStatusCode());
+ }
+}
diff --git a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
index eaf3b60e7c..3d5fc02958 100644
--- a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
+++ b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
@@ -22,27 +22,32 @@ use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\Session;
use Fisharebest\Webtrees\TestCase;
-
-use function app;
+use Fisharebest\Webtrees\User;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\MasqueradeAsUser
*/
class MasqueradeAsUserTest extends TestCase
{
- protected static $uses_database = true;
-
/**
* @return void
*/
- public function xtestMasqueradeAsUser(): void
+ public function testMasqueradeAsUser(): void
{
- $user1 = app(UserService::class)->create('user1', 'real1', 'email1', 'pass1');
- $user2 = app(UserService::class)->create('user2', 'real2', 'email2', 'pass2');
+ $user1 = $this->createMock(User::class);
+ $user1->method('id')->willReturn(1);
+
+ $user2 = $this->createMock(User::class);
+ $user2->method('id')->willReturn(2);
- $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user2->id()])
+ $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()])
->withAttribute('user', $user1);
- $response = app(MasqueradeAsUser::class)->handle($request);
+
+ $handler = new MasqueradeAsUser($user_service);
+ $response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
self::assertSame($user2->id(), Auth::id());
@@ -54,26 +59,39 @@ class MasqueradeAsUserTest extends TestCase
*/
public function testCannotMasqueradeAsSelf(): void
{
- $user = app(UserService::class)->create('user', 'real', 'email', 'pass');
- Auth::login($user);
+ $user = $this->createMock(User::class);
+ $user->method('id')->willReturn(1);
+
+ $user_service = $this->createMock(UserService::class);
+ $user_service->expects($this->once())->method('find')->willReturn($user);
- $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user->id()])
+ $request = self::createRequest(self::METHOD_POST, [], ['user_id' => $user->id()])
->withAttribute('user', $user);
- $response = app(MasqueradeAsUser::class)->handle($request);
+
+ $handler = new MasqueradeAsUser($user_service);
+ $response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
- self::assertSame($user->id(), Auth::id());
self::assertNull(Session::get('masquerade'));
}
/**
* @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
- * @expectedExceptionMessage User ID 98765 not found
+ * @expectedExceptionMessage User ID 2 not found
* @return void
*/
- public function xtestMasqueradeAsNonExistingUser(): void
+ public function testMasqueradeAsNonExistingUser(): void
{
- $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => 98765]);
- app(MasqueradeAsUser::class)->handle($request);
+ $user = $this->createMock(User::class);
+ $user->method('id')->willReturn(1);
+
+ $user_service = $this->createMock(UserService::class);
+ $user_service->expects($this->once())->method('find')->willReturn(null);
+
+ $request = self::createRequest(self::METHOD_POST, [], ['user_id' => 2])
+ ->withAttribute('user', $user);
+
+ $handler = new MasqueradeAsUser($user_service);
+ $handler->handle($request);
}
}
diff --git a/tests/app/Http/RequestHandlers/ModuleActionTest.php b/tests/app/Http/RequestHandlers/ModuleActionTest.php
index 074757b886..f9cb57398c 100644
--- a/tests/app/Http/RequestHandlers/ModuleActionTest.php
+++ b/tests/app/Http/RequestHandlers/ModuleActionTest.php
@@ -41,7 +41,7 @@ class ModuleActionTest extends TestCase
$user = new GuestUser();
$module_service = new ModuleService();
$handler = new ModuleAction($module_service, $user);
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'faq', 'action' => 'Show', 'ged' => $tree->name()])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'faq', 'action' => 'Show', 'ged' => $tree->name()])
->withAttribute('tree', $tree);
app()->instance(ServerRequestInterface::class, $request);
@@ -61,7 +61,7 @@ class ModuleActionTest extends TestCase
$user = new GuestUser();
$module_service = new ModuleService();
$handler = new ModuleAction($module_service, $user);
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'faq', 'action' => 'Fish']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'faq', 'action' => 'Fish']);
$handler->handle($request);
}
@@ -75,7 +75,7 @@ class ModuleActionTest extends TestCase
$user = new GuestUser();
$module_service = new ModuleService();
$handler = new ModuleAction($module_service, $user);
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'fish', 'action' => 'Show']);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'fish', 'action' => 'Show']);
$response = $handler->handle($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -93,7 +93,7 @@ class ModuleActionTest extends TestCase
$user = new GuestUser();
$module_service = new ModuleService();
$handler = new ModuleAction($module_service, $user);
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'faq', 'action' => 'Admin', 'ged' => $tree->name()]);
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'faq', 'action' => 'Admin', 'ged' => $tree->name()]);
$handler->handle($request);
}
}
diff --git a/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php b/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php
new file mode 100644
index 0000000000..eca2b61faa
--- /dev/null
+++ b/tests/app/Http/RequestHandlers/PasswordRequestPageTest.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * webtrees: online genealogy
+ * Copyright (C) 2019 webtrees development team
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+declare(strict_types=1);
+
+namespace Fisharebest\Webtrees\Http\RequestHandlers;
+
+use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\User;
+
+/**
+ * @covers \Fisharebest\Webtrees\Http\RequestHandlers\PasswordRequestPage
+ */
+class PasswordRequestPageTest extends TestCase
+{
+ /**
+ * @return void
+ */
+ public function testPasswordRequestPage(): void
+ {
+ $request = self::createRequest();
+ $handler = new PasswordRequestPage();
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_OK, $response->getStatusCode());
+ }
+
+ /**
+ * @return void
+ */
+ public function testPasswordRequestPageAlreadyLoggedIn(): void
+ {
+ $user = $this->createMock(User::class);
+ $request = self::createRequest()->withAttribute('user', $user);
+ $handler = new PasswordRequestPage();
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_FOUND, $response->getStatusCode());
+ }
+}
diff --git a/tests/app/Http/RequestHandlers/PasswordResetPageTest.php b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php
new file mode 100644
index 0000000000..4e140ee1af
--- /dev/null
+++ b/tests/app/Http/RequestHandlers/PasswordResetPageTest.php
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * webtrees: online genealogy
+ * Copyright (C) 2019 webtrees development team
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+declare(strict_types=1);
+
+namespace Fisharebest\Webtrees\Http\ResetHandlers;
+
+use Fisharebest\Webtrees\Http\RequestHandlers\PasswordResetPage;
+use Fisharebest\Webtrees\Services\UserService;
+use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\User;
+use Fisharebest\Webtrees\View;
+
+/**
+ * @covers \Fisharebest\Webtrees\Http\RequestHandlers\PasswordResetPage
+ */
+class PasswordResetPageTest extends TestCase
+{
+ /**
+ * @return void
+ */
+ public function testPasswordResetPageWithValidToken(): void
+ {
+ $user = $this->createMock(User::class);
+
+ $user_service = $this->createMock(UserService::class);
+ $user_service->expects($this->once())->method('findByToken')->willReturn($user);
+
+ View::share('tree', null);
+
+ $request = self::createRequest();
+ $handler = new PasswordResetPage($user_service);
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_OK, $response->getStatusCode());
+ }
+
+ /**
+ * @return void
+ */
+ public function testPasswordResetPageWithoutValidToken(): void
+ {
+ $user_service = $this->createMock(UserService::class);
+ $user_service->expects($this->once())->method('findByToken')->willReturn(null);
+
+ $request = self::createRequest();
+ $handler = new PasswordResetPage($user_service);
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_FOUND, $response->getStatusCode());
+ }
+}
diff --git a/tests/app/Http/RequestHandlers/PingTest.php b/tests/app/Http/RequestHandlers/PingTest.php
index 62618e29d3..589942c219 100644
--- a/tests/app/Http/RequestHandlers/PingTest.php
+++ b/tests/app/Http/RequestHandlers/PingTest.php
@@ -21,53 +21,60 @@ namespace Fisharebest\Webtrees\Http\RequestHandlers;
use Fisharebest\Webtrees\Services\ServerCheckService;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
+use Illuminate\Support\Collection;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\Ping
*/
class PingTest extends TestCase
{
- protected static $uses_database = true;
-
/**
* @return void
*/
- public function testPing(): void
+ public function testPingOK(): void
{
- $handler = new Ping(new ServerCheckService());
- $request = self::createRequest('GET');
- $response = $handler->handle($request);
+ $server_check_service = $this->createMock(ServerCheckService::class);
+ $server_check_service->expects($this->once())->method('serverErrors')->willReturn(new Collection());
+ $server_check_service->expects($this->once())->method('serverWarnings')->willReturn(new Collection());
+
+ $request = self::createRequest();
+ $handler = new Ping($server_check_service);
+ $response = $handler->handle($request);
self::assertSame(self::STATUS_OK, $response->getStatusCode());
self::assertSame('OK', (string) $response->getBody());
}
/**
- * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
- * @expectedExceptionMessage User ID 98765 not found
* @return void
*/
- public function testDeleteNonExistingUser(): void
+ public function testPingWarnings(): void
{
- $user_service = new UserService();
- $user_service->create('user1', 'real1', 'email1', 'pass1');
- $handler = new DeleteUser($user_service);
- $request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => 98765]);
- $handler->handle($request);
+ $server_check_service = $this->createMock(ServerCheckService::class);
+ $server_check_service->expects($this->once())->method('serverErrors')->willReturn(new Collection());
+ $server_check_service->expects($this->once())->method('serverWarnings')->willReturn(new Collection('warning'));
+
+ $request = self::createRequest();
+ $handler = new Ping($server_check_service);
+ $response = $handler->handle($request);
+
+ self::assertSame(self::STATUS_OK, $response->getStatusCode());
+ self::assertSame('WARNING', (string) $response->getBody());
}
/**
- * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
- * @expectedExceptionMessage Cannot delete an administrator
* @return void
*/
- public function testCannotDeleteAdministrator(): void
+ public function testPingErrors(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user1', 'real1', 'email1', 'pass1');
- $user->setPreference('canadmin', '1');
- $handler = new DeleteUser($user_service);
- $request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => $user->id()]);
- $handler->handle($request);
+ $server_check_service = $this->createMock(ServerCheckService::class);
+ $server_check_service->expects($this->once())->method('serverErrors')->willReturn(new Collection('error'));
+
+ $request = self::createRequest();
+ $handler = new Ping($server_check_service);
+ $response = $handler->handle($request);
+
+ self::assertSame(self::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 ff2e03312e..75ba31987b 100644
--- a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php
+++ b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php
@@ -30,8 +30,8 @@ class PrivacyPolicyTest extends TestCase
*/
public function testHandler(): void
{
- $request = self::createRequest('POST', ['route' => 'privacy-policy']);
- $response = app(PrivacyPolicy::class)->handle($request);
+ $request = self::createRequest();
+ $response = app(PrivacyPolicy::class)->handle($request);
self::assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/RequestHandlers/SelectLanguageTest.php b/tests/app/Http/RequestHandlers/SelectLanguageTest.php
index 138d5d701a..e2be952c90 100644
--- a/tests/app/Http/RequestHandlers/SelectLanguageTest.php
+++ b/tests/app/Http/RequestHandlers/SelectLanguageTest.php
@@ -27,8 +27,6 @@ use Fisharebest\Webtrees\TestCase;
*/
class SelectLanguageTest extends TestCase
{
- protected static $uses_database = true;
-
/**
* @return void
*/
@@ -36,7 +34,7 @@ class SelectLanguageTest extends TestCase
{
$user = new GuestUser();
$handler = new SelectLanguage($user);
- $request = self::createRequest('POST', ['route' => 'language'], ['language' => 'fr']);
+ $request = self::createRequest(self::METHOD_POST, [], ['language' => 'fr']);
$response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
@@ -50,7 +48,7 @@ class SelectLanguageTest extends TestCase
$user_service = new UserService();
$user = $user_service->create('user', 'real', 'email', 'pass');
$handler = new SelectLanguage($user);
- $request = self::createRequest('POST', ['route' => 'language'], ['language' => 'fr']);
+ $request = self::createRequest(self::METHOD_POST, [], ['language' => 'fr']);
$response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
diff --git a/tests/app/Http/RequestHandlers/SelectThemeTest.php b/tests/app/Http/RequestHandlers/SelectThemeTest.php
index 2f445c7524..1da460c1d3 100644
--- a/tests/app/Http/RequestHandlers/SelectThemeTest.php
+++ b/tests/app/Http/RequestHandlers/SelectThemeTest.php
@@ -19,28 +19,29 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\RequestHandlers;
use Fisharebest\Webtrees\GuestUser;
-use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\User;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\SelectTheme
*/
class SelectThemeTest extends TestCase
{
- protected static $uses_database = true;
-
/**
* @return void
*/
public function testSelectThemeForGuest(): void
{
- $user = new GuestUser();
- $handler = new SelectTheme($user);
- $request = self::createRequest('POST', ['route' => 'theme'], ['theme' => 'FOO']);
+ $user = $this->createMock(GuestUser::class);
+ $user->expects($this->once())->method('setPreference')->with('theme', 'FOO');
+
+ $request = self::createRequest(self::METHOD_POST, [], ['theme' => 'FOO'])
+ ->withAttribute('user', $user);
+
+ $handler = new SelectTheme();
$response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
- self::assertSame('FOO', $user->getPreference('theme'));
}
/**
@@ -48,13 +49,15 @@ class SelectThemeTest extends TestCase
*/
public function testSelectThemeForUser(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user', 'real', 'email', 'pass');
- $handler = new SelectTheme($user);
- $request = self::createRequest('POST', ['route' => 'theme'], ['theme' => 'FOO']);
- $response = $handler->handle($request);
+ $user = $this->createMock(User::class);
+ $user->expects($this->once())->method('setPreference')->with('theme', 'FOO');
+
+ $request = self::createRequest(self::METHOD_POST, [], ['theme' => 'FOO'])
+ ->withAttribute('user', $user);
+
+ $handler = new SelectTheme();
+ $response = $handler->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
- self::assertSame('FOO', $user->getPreference('theme'));
}
}
diff --git a/tests/feature/IndividualListTest.php b/tests/feature/IndividualListTest.php
index 1cfd9f32f9..72775f07aa 100644
--- a/tests/feature/IndividualListTest.php
+++ b/tests/feature/IndividualListTest.php
@@ -49,7 +49,7 @@ class IndividualListTest extends TestCase
$individual_list_service = new IndividualListService($localization_service, $tree);
$controller = new ListController($individual_list_service, $localization_service);
- $request = self::createRequest('GET', [
+ $request = self::createRequest(self::METHOD_GET, [
'route' => 'module',
'module' => 'individual_list',
'action' => 'List',
@@ -58,25 +58,25 @@ class IndividualListTest extends TestCase
$response = $controller->individualList($request, $list_module);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => 'B'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => 'B'])
->withAttribute('tree', $tree)
->withAttribute('user', $user);
$response = $controller->individualList($request, $list_module);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => ','])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => ','])
->withAttribute('tree', $tree)
->withAttribute('user', $user);
$response = $controller->individualList($request, $list_module);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => '@'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'alpha' => '@'])
->withAttribute('tree', $tree)
->withAttribute('user', $tree);
$response = $controller->individualList($request, $list_module);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
- $request = self::createRequest('GET', ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'surname' => 'BRAUN'])
+ $request = self::createRequest(self::METHOD_GET, ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'surname' => 'BRAUN'])
->withAttribute('tree', $tree)
->withAttribute('user', $user);
$response = $controller->individualList($request, $list_module);
diff --git a/tests/feature/UserAdminTest.php b/tests/feature/UserAdminTest.php
index a66a34a444..08f95d1ee9 100644
--- a/tests/feature/UserAdminTest.php
+++ b/tests/feature/UserAdminTest.php
@@ -42,7 +42,7 @@ class UserAdminTest extends TestCase
$user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
$controller = app(UsersController::class);
- $request = self::createRequest('GET', ['length' => '10',])->withAttribute('user', $admin);
+ $request = self::createRequest(self::METHOD_GET, ['length' => '10',])->withAttribute('user', $admin);
$response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());