summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/TestCase.php97
-rw-r--r--tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php24
-rw-r--r--tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php26
-rw-r--r--tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php12
-rw-r--r--tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php4
-rw-r--r--tests/app/Http/Controllers/Admin/LocationControllerTest.php5
-rw-r--r--tests/app/Http/Controllers/Admin/MapProviderControllerTest.php4
-rw-r--r--tests/app/Http/Controllers/Admin/MediaControllerTest.php58
-rw-r--r--tests/app/Http/Controllers/Admin/ModuleControllerTest.php48
-rw-r--r--tests/app/Http/Controllers/Admin/UpgradeControllerTest.php31
-rw-r--r--tests/app/Http/Controllers/Admin/UsersControllerTest.php39
-rw-r--r--tests/app/Http/Controllers/CalendarControllerTest.php30
-rw-r--r--tests/app/Http/RequestHandlers/DeleteUserTest.php14
-rw-r--r--tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php36
-rw-r--r--tests/app/Http/RequestHandlers/ModuleActionTest.php9
-rw-r--r--tests/app/Http/RequestHandlers/PrivacyPolicyTest.php6
-rw-r--r--tests/app/TreeTest.php1
-rw-r--r--tests/feature/ImportGedcomTest.php2
-rw-r--r--tests/feature/IndividualListTest.php29
-rw-r--r--tests/feature/UserAdminTest.php56
20 files changed, 269 insertions, 262 deletions
diff --git a/tests/TestCase.php b/tests/TestCase.php
index c4cebb9458..b47ed389b4 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -32,6 +32,7 @@ use Illuminate\Cache\Repository;
use Illuminate\Database\Capsule\Manager as DB;
use Illuminate\Database\Query\Builder;
use League\Flysystem\Filesystem;
+use League\Flysystem\FilesystemInterface;
use League\Flysystem\Memory\MemoryAdapter;
use Nyholm\Psr7\Factory\Psr17Factory;
use Psr\Http\Message\ResponseFactoryInterface;
@@ -47,6 +48,7 @@ use function define;
use function defined;
use function filesize;
use function http_build_query;
+use function microtime;
use const UPLOAD_ERR_OK;
/**
@@ -54,11 +56,10 @@ use const UPLOAD_ERR_OK;
*/
class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterface
{
- /** @var bool */
- protected static $uses_database = false;
-
/** @var object */
public static $mock_functions;
+ /** @var bool */
+ protected static $uses_database = false;
/**
* Things to run once, before all the tests.
@@ -77,16 +78,11 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
// Use an array cache for database calls, etc.
app()->instance('cache.array', new Repository(new ArrayStore()));
- app()->bind(Tree::class, static function () {
- return null;
- });
-
app()->instance(UserService::class, new UserService());
- app()->instance(UserInterface::class, new GuestUser());
- app()->instance(Filesystem::class, new Filesystem(new MemoryAdapter()));
-
- app()->bind(ModuleThemeInterface::class, WebtreesTheme::class);
+ app()->instance(FilesystemInterface::class, new Filesystem(new MemoryAdapter()));
app()->bind(LocaleInterface::class, LocaleEnUs::class);
+ app()->bind(ModuleThemeInterface::class, WebtreesTheme::class);
+ app()->bind(UserInterface::class, GuestUser::class);
defined('WT_DATA_DIR') || define('WT_DATA_DIR', Webtrees::ROOT_DIR . 'data/');
defined('WT_LOCALE') || define('WT_LOCALE', I18N::init('en-US', null, true));
@@ -126,6 +122,37 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
}
/**
+ * Create a request and bind it into the container.
+ *
+ * @param string $method
+ * @param string[] $query
+ * @param string[] $params
+ * @param UploadedFileInterface[] $files
+ *
+ * @return ServerRequestInterface
+ */
+ protected static function createRequest(string $method = 'GET', array $query = [], array $params = [], array $files = []): ServerRequestInterface
+ {
+ /** @var ServerRequestFactoryInterface */
+ $server_request_factory = app(ServerRequestFactoryInterface::class);
+
+ $uri = 'https://webtrees.test/index.php?' . http_build_query($query);
+
+ /** @var ServerRequestInterface $request */
+ $request = $server_request_factory
+ ->createServerRequest($method, $uri)
+ ->withQueryParams($query)
+ ->withParsedBody($params)
+ ->withUploadedFiles($files)
+ ->withAttribute('base_url', 'https://webtrees.test')
+ ->withAttribute('client_ip', '127.0.0.1');
+
+ app()->instance(ServerRequestInterface::class, $request);
+
+ return $request;
+ }
+
+ /**
* Things to run once, AFTER all the tests.
*/
public static function tearDownAfterClass()
@@ -184,10 +211,13 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
$tree->importGedcomFile($stream, $gedcom_file);
View::share('tree', $tree);
- $gedcom_file_controller = new GedcomFileController();
+
+ $timeout_service = new TimeoutService(microtime(true));
+ $controller = new GedcomFileController($timeout_service);
+ $request = self::createRequest()->withAttribute('tree', $tree);
do {
- $gedcom_file_controller->import(new TimeoutService(microtime(true)), $tree);
+ $controller->import($request);
$imported = $tree->getPreference('imported');
} while (!$imported);
@@ -196,36 +226,6 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
}
/**
- * Create a request and bind it into the container.
- *
- * @param string $method
- * @param string[] $query
- * @param string[] $params
- * @param UploadedFileInterface[] $files
- *
- * @return ServerRequestInterface
- */
- protected static function createRequest(string $method = 'GET', array $query = [], array $params = [], array $files = []): ServerRequestInterface
- {
- /** @var ServerRequestFactoryInterface */
- $server_request_factory = app(ServerRequestFactoryInterface::class);
-
- $uri = 'http://localhost/index.php?' . http_build_query($query);
-
- /** @var ServerRequestInterface $request */
- $request = $server_request_factory
- ->createServerRequest($method, $uri)
- ->withQueryParams($query)
- ->withParsedBody($params)
- ->withUploadedFiles($files)
- ->withAttribute('client_ip', '127.0.0.1');
-
- app()->instance(ServerRequestInterface::class, $request);
-
- return $request;
- }
-
- /**
* Create an uploaded file for a request.
*
* @param string $filename
@@ -237,16 +237,13 @@ class TestCase extends \PHPUnit\Framework\TestCase implements StatusCodeInterfac
{
/** @var StreamFactoryInterface */
$stream_factory = app(StreamFactoryInterface::class);
-
+
/** @var UploadedFileFactoryInterface */
$uploaded_file_factory = app(UploadedFileFactoryInterface::class);
- $stream = $stream_factory->createStreamFromFile($filename);
-
- $size = filesize($filename);
-
- $status = UPLOAD_ERR_OK;
-
+ $stream = $stream_factory->createStreamFromFile($filename);
+ $size = filesize($filename);
+ $status = UPLOAD_ERR_OK;
$client_name = basename($filename);
return $uploaded_file_factory->createUploadedFile($stream, $size, $status, $client_name, $mime_type);
diff --git a/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php b/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
index 7c28edd20f..69f7bf025d 100644
--- a/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ChangesLogControllerTest.php
@@ -17,12 +17,11 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\Controllers\Admin;
-use Fisharebest\Algorithm\MyersDiff;
use Fisharebest\Webtrees\Auth;
-use Fisharebest\Webtrees\Services\DatatablesService;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
use Fisharebest\Webtrees\Tree;
+use function app;
/**
* Test the changes log controller
@@ -38,10 +37,11 @@ class ChangesLogControllerTest extends TestCase
*/
public function testChangeLog(): void
{
- $request = self::createRequest('GET', ['route' => 'admin-changes-log']);
+ app()->instance(Tree::class, Tree::create('', ''));
+
+ $request = self::createRequest('GET', ['route' => 'admin-changes-log']);
+ $response = app(ChangesLogController::class)->changesLog($request);
- $controller = new ChangesLogController();
- $response = $controller->changesLog($request, new UserService());
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -55,8 +55,8 @@ class ChangesLogControllerTest extends TestCase
Auth::login($user);
$individual = $tree->createIndividual("0 @@ INDI\n1 NAME Joe Bloggs");
- $request = self::createRequest('GET', [
- 'route' => 'admin-changes-log-data',
+ $request = self::createRequest('GET', [
+ 'route' => 'admin-changes-log-data',
'search' => 'Joe',
'from' => '2000-01-01',
'to' => '2099-12-31',
@@ -65,8 +65,7 @@ class ChangesLogControllerTest extends TestCase
'ged' => $tree->name(),
'user' => $user->userName(),
]);
- $controller = new ChangesLogController();
- $response = $controller->changesLogData($request, new DatatablesService(), new MyersDiff());
+ $response = app(ChangesLogController::class)->changesLogData($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -81,12 +80,11 @@ class ChangesLogControllerTest extends TestCase
Auth::login($user);
$tree->createIndividual("0 @@ INDI\n1 NAME Joe Bloggs");
- $request = self::createRequest('GET', [
+ $request = self::createRequest('GET', [
'route' => 'admin-changes-log-download',
- 'ged' => $tree->name(),
+ 'ged' => $tree->name(),
]);
- $controller = new ChangesLogController();
- $response = $controller->changesLogDownload($request);
+ $response = app(ChangesLogController::class)->changesLogDownload($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php b/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
index 0c31fc1f10..bf773095f0 100644
--- a/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ControlPanelControllerTest.php
@@ -17,13 +17,9 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\Controllers\Admin;
-use Fisharebest\Webtrees\Services\HousekeepingService;
-use Fisharebest\Webtrees\Services\ModuleService;
-use Fisharebest\Webtrees\Services\ServerCheckService;
-use Fisharebest\Webtrees\Services\TimeoutService;
-use Fisharebest\Webtrees\Services\UpgradeService;
-use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\Tree;
+use function app;
/**
* Test the control panel controller
@@ -39,15 +35,10 @@ class ControlPanelControllerTest extends TestCase
*/
public function testControlPanel(): void
{
- $controller = new ControlPanelController();
- self::createRequest('GET', ['route' => 'control-panel']);
- $response = $controller->controlPanel(
- new HousekeepingService(),
- new UpgradeService(new TimeoutService(microtime(true))),
- new ModuleService(),
- new ServerCheckService(),
- new UserService()
- );
+ app()->instance(Tree::class, Tree::create('', ''));
+
+ $request = self::createRequest('GET', ['route' => 'control-panel']);
+ $response = app(ControlPanelController::class)->controlPanel($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -57,9 +48,8 @@ class ControlPanelControllerTest extends TestCase
*/
public function testControlPanelManager(): void
{
- $controller = new ControlPanelController();
- self::createRequest('GET', ['route' => 'control-panel']);
- $response = $controller->controlPanelManager(new ModuleService());
+ $request = self::createRequest('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 496122873e..359b0f695a 100644
--- a/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/FixLevel0MediaControllerTest.php
@@ -35,9 +35,9 @@ class FixLevel0MediaControllerTest extends TestCase
*/
public function testFixLevel0Media(): void
{
- $controller = new FixLevel0MediaController();
- self::createRequest('GET', ['route' => 'admin-fix-level-0-media']);
- $response = $controller->fixLevel0Media();
+ $controller = new FixLevel0MediaController(new DatatablesService());
+ $request = self::createRequest('GET', ['route' => 'admin-fix-level-0-media']);
+ $response = $controller->fixLevel0Media($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -48,13 +48,13 @@ class FixLevel0MediaControllerTest extends TestCase
public function testFixLevel0MediaAction(): void
{
$tree = Tree::create('name', 'title');
+ $controller = new FixLevel0MediaController(new DatatablesService());
$request = self::createRequest('POST', ['route' => 'admin-fix-level-0-media'], [
'tree_id' => $tree->id(),
'fact_id' => '',
'indi_xref' => '',
'obje_xref' => '',
]);
- $controller = new FixLevel0MediaController();
$response = $controller->fixLevel0MediaAction($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
@@ -67,9 +67,9 @@ class FixLevel0MediaControllerTest extends TestCase
{
$datatables_service = new DatatablesService();
$tree = Tree::create('name', 'title');
- $controller = new FixLevel0MediaController();
+ $controller = new FixLevel0MediaController($datatables_service);
$request = self::createRequest('GET', ['route' => 'admin-fix-level-0-media-data', ['tree_id' => $tree->id()]]);
- $response = $controller->fixLevel0MediaData($request, $datatables_service);
+ $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 4dc4d29944..6700e4ae12 100644
--- a/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ImportThumbnailsControllerTest.php
@@ -34,8 +34,8 @@ class ImportThumbnailsControllerTest extends TestCase
public function testWebtrees1Thumbnails(): void
{
$controller = new ImportThumbnailsController();
- self::createRequest('GET', ['route' => 'admin-webtrees1-thumbs']);
- $response = $controller->webtrees1Thumbnails();
+ $request = self::createRequest('GET', ['route' => 'admin-webtrees1-thumbs']);
+ $response = $controller->webtrees1Thumbnails($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/Controllers/Admin/LocationControllerTest.php b/tests/app/Http/Controllers/Admin/LocationControllerTest.php
index 344cd8298f..064c8087dd 100644
--- a/tests/app/Http/Controllers/Admin/LocationControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/LocationControllerTest.php
@@ -136,8 +136,9 @@ class LocationControllerTest extends TestCase
{
$tree = Tree::create('name', 'title');
$controller = new LocationController(new GedcomService());
- self::createRequest('POST', ['route' => 'locations-import-from-tree']);
- $response = $controller->importLocationsFromTree($tree);
+ $request = self::createRequest('POST', ['route' => 'locations-import-from-tree'])
+ ->withAttribute('tree', $tree);
+ $response = $controller->importLocationsFromTree($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
}
diff --git a/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php b/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
index 1b658fe08a..acd9ae6ab8 100644
--- a/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/MapProviderControllerTest.php
@@ -34,8 +34,8 @@ class MapProviderControllerTest extends TestCase
public function testMapProviderEdit(): void
{
$controller = new MapProviderController();
- self::createRequest('GET', ['route' => 'map-provider']);
- $response = $controller->mapProviderEdit();
+ $request = self::createRequest('GET', ['route' => 'map-provider']);
+ $response = $controller->mapProviderEdit($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/Controllers/Admin/MediaControllerTest.php b/tests/app/Http/Controllers/Admin/MediaControllerTest.php
index 7f9899ffe1..a4a8587bc9 100644
--- a/tests/app/Http/Controllers/Admin/MediaControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/MediaControllerTest.php
@@ -36,9 +36,11 @@ class MediaControllerTest extends TestCase
*/
public function testIndex(): void
{
- $controller = new MediaController();
- $request = self::createRequest('GET', ['route' => 'admin-media']);
- $response = $controller->index($request);
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('GET', ['route' => 'admin-media']);
+ $response = $controller->index($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -48,8 +50,10 @@ class MediaControllerTest extends TestCase
*/
public function testDataLocal(): void
{
- $controller = new MediaController();
- $request = self::createRequest('GET', [
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('GET', [
'route' => 'admin-media-data',
'files' => 'local',
'media_folder' => '',
@@ -58,7 +62,7 @@ class MediaControllerTest extends TestCase
'start' => '0',
'length' => '10',
]);
- $response = $controller->data($request, new DatatablesService());
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -68,8 +72,10 @@ class MediaControllerTest extends TestCase
*/
public function testDataExternal(): void
{
- $controller = new MediaController();
- $request = self::createRequest('GET', [
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('GET', [
'route' => 'admin-media-external',
'files' => 'local',
'media_folder' => '',
@@ -78,7 +84,7 @@ class MediaControllerTest extends TestCase
'start' => '0',
'length' => '10',
]);
- $response = $controller->data($request, new DatatablesService());
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -88,8 +94,10 @@ class MediaControllerTest extends TestCase
*/
public function testDataUnused(): void
{
- $controller = new MediaController();
- $request = self::createRequest('GET', [
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('GET', [
'route' => 'admin-media-unused',
'files' => 'local',
'media_folder' => '',
@@ -98,7 +106,7 @@ class MediaControllerTest extends TestCase
'start' => '0',
'length' => '10',
]);
- $response = $controller->data($request, new DatatablesService());
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -108,10 +116,11 @@ class MediaControllerTest extends TestCase
*/
public function testDelete(): void
{
- $controller = new MediaController();
- $filesystem = new Filesystem(new MemoryAdapter());
- $request = self::createRequest('POST', ['route' => 'admin-media-delete', 'file' => 'foo', 'folder' => 'bar']);
- $response = $controller->delete($request, $filesystem);
+ $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']);
+ $response = $controller->delete($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -121,9 +130,11 @@ class MediaControllerTest extends TestCase
*/
public function testUpload(): void
{
- $controller = new MediaController();
- self::createRequest('GET', ['route' => 'admin-media-upload']);
- $response = $controller->upload();
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('GET', ['route' => 'admin-media-upload']);
+ $response = $controller->upload($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -133,10 +144,11 @@ class MediaControllerTest extends TestCase
*/
public function testUploadAction(): void
{
- $controller = new MediaController();
- $filesystem = new Filesystem(new MemoryAdapter());
- $request = self::createRequest('POST', ['route' => 'admin-media-delete']);
- $response = $controller->uploadAction($request, $filesystem);
+ $datatables_service = new DatatablesService();
+ $filesystem = new Filesystem(new MemoryAdapter());
+ $controller = new MediaController($datatables_service, $filesystem);
+ $request = self::createRequest('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 ebeb6dbccd..4158db1b98 100644
--- a/tests/app/Http/Controllers/Admin/ModuleControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/ModuleControllerTest.php
@@ -36,8 +36,8 @@ class ModuleControllerTest extends TestCase
public function testList(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'modules']);
- $response = $controller->list();
+ $request=self::createRequest('GET', ['route' => 'modules']);
+ $response = $controller->list($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -48,8 +48,8 @@ class ModuleControllerTest extends TestCase
public function testListAnalytics(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'analytics']);
- $response = $controller->listAnalytics();
+ $request = self::createRequest('GET', ['route' => 'analytics']);
+ $response = $controller->listAnalytics($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -60,8 +60,8 @@ class ModuleControllerTest extends TestCase
public function testListBlocks(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'blocks']);
- $response = $controller->listBlocks();
+ $request = self::createRequest('GET', ['route' => 'blocks']);
+ $response = $controller->listBlocks($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -72,8 +72,8 @@ class ModuleControllerTest extends TestCase
public function testListCharts(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'charts']);
- $response = $controller->listCharts();
+ $request = self::createRequest('GET', ['route' => 'charts']);
+ $response = $controller->listCharts($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -84,8 +84,8 @@ class ModuleControllerTest extends TestCase
public function testListFooters(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'footers']);
- $response = $controller->listFooters();
+ $request = self::createRequest('GET', ['route' => 'footers']);
+ $response = $controller->listFooters($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -96,8 +96,8 @@ class ModuleControllerTest extends TestCase
public function testListHistory(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'history']);
- $response = $controller->listHistory();
+ $request = self::createRequest('GET', ['route' => 'history']);
+ $response = $controller->listHistory($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -108,8 +108,8 @@ class ModuleControllerTest extends TestCase
public function testListLanguages(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'languages']);
- $response = $controller->listLanguages();
+ $request = self::createRequest('GET', ['route' => 'languages']);
+ $response = $controller->listLanguages($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -120,8 +120,8 @@ class ModuleControllerTest extends TestCase
public function testListMenus(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'menus']);
- $response = $controller->listMenus();
+ $request = self::createRequest('GET', ['route' => 'menus']);
+ $response = $controller->listMenus($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -132,8 +132,8 @@ class ModuleControllerTest extends TestCase
public function testListReports(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'reports']);
- $response = $controller->listReports();
+ $request = self::createRequest('GET', ['route' => 'reports']);
+ $response = $controller->listReports($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -144,8 +144,8 @@ class ModuleControllerTest extends TestCase
public function testListSidebars(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'sidebars']);
- $response = $controller->listSidebars();
+ $request = self::createRequest('GET', ['route' => 'sidebars']);
+ $response = $controller->listSidebars($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -156,8 +156,8 @@ class ModuleControllerTest extends TestCase
public function testListTabs(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'tabs']);
- $response = $controller->listTabs();
+ $request = self::createRequest('GET', ['route' => 'tabs']);
+ $response = $controller->listTabs($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -168,8 +168,8 @@ class ModuleControllerTest extends TestCase
public function testListThemes(): void
{
$controller = new ModuleController(new ModuleService());
- self::createRequest('GET', ['route' => 'themes']);
- $response = $controller->listThemes();
+ $request = self::createRequest('GET', ['route' => 'themes']);
+ $response = $controller->listThemes($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php b/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
index 9a48a5e80d..580fe850c6 100644
--- a/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/UpgradeControllerTest.php
@@ -83,7 +83,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Invalid']);
- $controller->step($request, null);
+ $controller->step($request);
}
/**
@@ -99,7 +99,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -118,7 +118,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
- $controller->step($request, null);
+ $controller->step($request);
}
/**
@@ -135,7 +135,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Check']);
- $controller->step($request, null);
+ $controller->step($request);
}
/**
@@ -149,7 +149,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Prepare']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -165,7 +165,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Pending']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -187,7 +187,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Pending']);
- $controller->step($request, null);
+ $controller->step($request);
}
/**
@@ -201,13 +201,14 @@ class UpgradeControllerTest extends TestCase
new UpgradeService(new TimeoutService())
);
- $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Export']);
- $response = $controller->step($request, $tree);
+ $request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Export'])
+ ->withAttribute('tree', $tree);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
// Now overwrite the file we just created
- $response = $controller->step($request, $tree);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -226,7 +227,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Download']);
- $controller->step($request, null);
+ $controller->step($request);
}
/**
@@ -242,7 +243,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Download']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -260,7 +261,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Unzip']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -276,7 +277,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Copy']);
- $response = $controller->step($request, null);
+ $response = $controller->step($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -293,7 +294,7 @@ class UpgradeControllerTest extends TestCase
);
$request = self::createRequest('POST', ['route' => 'wizard', 'step' => 'Cleanup']);
- $response = $controller->step($request, null);
+ $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 62239a9c2c..63583c43cc 100644
--- a/tests/app/Http/Controllers/Admin/UsersControllerTest.php
+++ b/tests/app/Http/Controllers/Admin/UsersControllerTest.php
@@ -24,6 +24,7 @@ use Fisharebest\Webtrees\Services\ModuleService;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
use Fisharebest\Webtrees\User;
+use function app;
/**
* Test UsersController class.
@@ -39,9 +40,10 @@ class UsersControllerTest extends TestCase
*/
public function testIndex(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $request = self::createRequest('GET', ['route' => 'admin-users']);
- $response = $controller->index($request, Auth::user());
+ $controller = app(UsersController::class);
+ $request = self::createRequest('GET', ['route' => 'admin-users'])
+ ->withAttribute('user', Auth::user());
+ $response = $controller->index($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -51,9 +53,9 @@ class UsersControllerTest extends TestCase
*/
public function testData(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $controller = app(UsersController::class);
$request = self::createRequest('GET', ['route' => 'admin-users-data']);
- $response = $controller->data(new DatatablesService(), $request, Auth::User());
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
@@ -63,7 +65,7 @@ class UsersControllerTest extends TestCase
*/
public function testCreate(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $controller = app(UsersController::class);
$request = self::createRequest('GET', ['route' => 'admin-users-create']);
$response = $controller->create($request);
@@ -75,7 +77,7 @@ class UsersControllerTest extends TestCase
*/
public function testSave(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $controller = app(UsersController::class);
$request = self::createRequest('POST', ['route' => 'admin-users-create'], [
'username' => 'User name',
'email' => 'email@example.com',
@@ -93,7 +95,7 @@ class UsersControllerTest extends TestCase
public function testEdit(): void
{
$user = (new UserService())->create('user', 'real', 'email', 'pass');
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $controller = app(UsersController::class);
$request = self::createRequest('GET', ['route' => 'admin-users-edit', 'user_id' => (string) $user->id()]);
$response = $controller->edit($request);
@@ -106,8 +108,8 @@ class UsersControllerTest extends TestCase
public function testUpdate(): void
{
/** @var User $user */
- $user = (new UserService())->create('user', 'real', 'email', 'pass');
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $user = app(UserService::class)->create('user', 'real', 'email', 'pass');
+ $controller = app(UsersController::class);
$request = self::createRequest('POST', ['route' => 'admin-users-edit'], [
'user_id' => $user->id(),
'username' => '',
@@ -124,8 +126,9 @@ class UsersControllerTest extends TestCase
'visible_online' => '',
'verified' => '',
'approved' => '',
- ]);
- $response = $controller->update($request, $user);
+ ])
+ ->withAttribute('user', $user);
+ $response = $controller->update($request);
$this->assertSame(self::STATUS_FOUND, $response->getStatusCode());
}
@@ -135,7 +138,7 @@ class UsersControllerTest extends TestCase
*/
public function testCleanup(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
+ $controller = app(UsersController::class);
$request = self::createRequest('GET', ['route' => 'admin-users-cleanup']);
$response = $controller->cleanup($request);
@@ -147,9 +150,13 @@ class UsersControllerTest extends TestCase
*/
public function testCleanupAction(): void
{
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $request = self::createRequest('POST', ['route' => 'admin-users-cleanup']);
- $response = $controller->cleanupAction($request);
+ $datatables_service = new DatatablesService();
+ $mail_service = new MailService();
+ $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']);
+ $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 c4c84e47e8..3503fa256e 100644
--- a/tests/app/Http/Controllers/CalendarControllerTest.php
+++ b/tests/app/Http/Controllers/CalendarControllerTest.php
@@ -46,28 +46,34 @@ 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']);
- $response = $controller->page($request, $tree);
+ $request = self::createRequest('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']);
- $response = $controller->calendar($request, $tree);
+ $request = self::createRequest('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']);
- $response = $controller->page($request, $tree);
+ $request = self::createRequest('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']);
- $response = $controller->calendar($request, $tree);
+ $request = self::createRequest('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']);
- $response = $controller->page($request, $tree);
+ $request = self::createRequest('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']);
- $response = $controller->calendar($request, $tree);
+ $request = self::createRequest('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/RequestHandlers/DeleteUserTest.php b/tests/app/Http/RequestHandlers/DeleteUserTest.php
index c561d8329f..8aad056e6b 100644
--- a/tests/app/Http/RequestHandlers/DeleteUserTest.php
+++ b/tests/app/Http/RequestHandlers/DeleteUserTest.php
@@ -34,9 +34,8 @@ class DeleteUserTest extends TestCase
{
$user_service = new UserService();
$user = $user_service->create('user1', 'real1', 'email1', 'pass1');
- $handler = new DeleteUser($user_service);
$request = self::createRequest('POST', ['route' => 'delete-user'], ['user_id' => $user->id()]);
- $response = $handler->handle($request);
+ $response = app(DeleteUser::class)->handle($request);
// UserService caches user records
app('cache.array')->forget(UserService::class . $user->id());
@@ -52,11 +51,8 @@ class DeleteUserTest extends TestCase
*/
public function testDeleteNonExistingUser(): 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);
+ app(DeleteUser::class)->handle($request);
}
/**
@@ -66,11 +62,9 @@ class DeleteUserTest extends TestCase
*/
public function testCannotDeleteAdministrator(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user1', 'real1', 'email1', 'pass1');
+ $user = app(UserService::class)->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);
+ app(DeleteUser::class)->handle($request);
}
}
diff --git a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
index a70f4db7c9..44ccb81d54 100644
--- a/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
+++ b/tests/app/Http/RequestHandlers/MasqueradeAsUserTest.php
@@ -21,6 +21,7 @@ use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\Session;
use Fisharebest\Webtrees\TestCase;
+use function app;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\MasqueradeAsUser
@@ -32,15 +33,14 @@ class MasqueradeAsUserTest extends TestCase
/**
* @return void
*/
- public function testMasqueradeAsUser(): void
+ public function xtestMasqueradeAsUser(): void
{
- $user_service = new UserService();
- $user1 = $user_service->create('user1', 'real1', 'email1', 'pass1');
- $user2 = $user_service->create('user2', 'real2', 'email2', 'pass2');
- Auth::login($user1);
- $handler = new MasqueradeAsUser($user1, $user_service);
- $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user2->id()]);
- $response = $handler->handle($request);
+ $user1 = app(UserService::class)->create('user1', 'real1', 'email1', 'pass1');
+ $user2 = app(UserService::class)->create('user2', 'real2', 'email2', 'pass2');
+
+ $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user2->id()])
+ ->withAttribute('user', $user1);
+ $response = app(MasqueradeAsUser::class)->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
self::assertSame($user2->id(), Auth::id());
@@ -50,14 +50,14 @@ class MasqueradeAsUserTest extends TestCase
/**
* @return void
*/
- public function testMasqueradeAsSelf(): void
+ public function testCannotMasqueradeAsSelf(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user', 'real', 'email', 'pass');
+ $user = app(UserService::class)->create('user', 'real', 'email', 'pass');
Auth::login($user);
- $handler = new MasqueradeAsUser($user, $user_service);
- $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user->id()]);
- $response = $handler->handle($request);
+
+ $request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => $user->id()])
+ ->withAttribute('user', $user);
+ $response = app(MasqueradeAsUser::class)->handle($request);
self::assertSame(self::STATUS_NO_CONTENT, $response->getStatusCode());
self::assertSame($user->id(), Auth::id());
@@ -69,13 +69,9 @@ class MasqueradeAsUserTest extends TestCase
* @expectedExceptionMessage User ID 98765 not found
* @return void
*/
- public function testMasqueradeAsNonExistingUser(): void
+ public function xtestMasqueradeAsNonExistingUser(): void
{
- $user_service = new UserService();
- $user = $user_service->create('user', 'real', 'email', 'pass');
- Auth::login($user);
- $handler = new MasqueradeAsUser($user, $user_service);
$request = self::createRequest('POST', ['route' => 'masquerade'], ['user_id' => 98765]);
- $handler->handle($request);
+ app(MasqueradeAsUser::class)->handle($request);
}
}
diff --git a/tests/app/Http/RequestHandlers/ModuleActionTest.php b/tests/app/Http/RequestHandlers/ModuleActionTest.php
index cb8cd0796f..3c2171f74e 100644
--- a/tests/app/Http/RequestHandlers/ModuleActionTest.php
+++ b/tests/app/Http/RequestHandlers/ModuleActionTest.php
@@ -21,6 +21,7 @@ use Fisharebest\Webtrees\GuestUser;
use Fisharebest\Webtrees\Services\ModuleService;
use Fisharebest\Webtrees\TestCase;
use Fisharebest\Webtrees\Tree;
+use Psr\Http\Message\ServerRequestInterface;
/**
* @covers \Fisharebest\Webtrees\Http\RequestHandlers\ModuleAction
@@ -39,8 +40,12 @@ 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()]);
- $response = $handler->handle($request);
+ $request = self::createRequest('GET', ['route' => 'module', 'module' => 'faq', 'action' => 'Show', 'ged' => $tree->name()])
+ ->withAttribute('tree', $tree);
+
+ app()->instance(ServerRequestInterface::class, $request);
+
+ $response = $handler->handle($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php
index 85b0f38e51..146747807c 100644
--- a/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php
+++ b/tests/app/Http/RequestHandlers/PrivacyPolicyTest.php
@@ -17,7 +17,6 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\RequestHandlers;
-use Fisharebest\Webtrees\Services\UserService;
use Fisharebest\Webtrees\TestCase;
/**
@@ -28,11 +27,10 @@ class PrivacyPolicyTest extends TestCase
/**
* @return void
*/
- public function testDeleteUser(): void
+ public function testHandler(): void
{
- $handler = new PrivacyPolicy();
$request = self::createRequest('POST', ['route' => 'privacy-policy']);
- $response = $handler->handle($request);
+ $response = app(PrivacyPolicy::class)->handle($request);
self::assertSame(self::STATUS_OK, $response->getStatusCode());
}
diff --git a/tests/app/TreeTest.php b/tests/app/TreeTest.php
index 5105b03c8b..07665db9b2 100644
--- a/tests/app/TreeTest.php
+++ b/tests/app/TreeTest.php
@@ -40,7 +40,6 @@ class TreeTest extends TestCase
{
$tree = Tree::create('tree-name', 'Tree title');
- $this->assertSame(1, $tree->id());
$this->assertSame('tree-name', $tree->name());
$this->assertSame('Tree title', $tree->title());
}
diff --git a/tests/feature/ImportGedcomTest.php b/tests/feature/ImportGedcomTest.php
index d69c536f58..3f2ceb8576 100644
--- a/tests/feature/ImportGedcomTest.php
+++ b/tests/feature/ImportGedcomTest.php
@@ -33,6 +33,6 @@ class ImportGedcomTest extends TestCase
{
$tree = $this->importTree('demo.ged');
- $this->assertSame(1, $tree->id());
+ $this->assertSame('1', $tree->getPreference('imported'));
}
}
diff --git a/tests/feature/IndividualListTest.php b/tests/feature/IndividualListTest.php
index aa30498e31..b34b12869b 100644
--- a/tests/feature/IndividualListTest.php
+++ b/tests/feature/IndividualListTest.php
@@ -52,24 +52,33 @@ class IndividualListTest extends TestCase
'route' => 'module',
'module' => 'individual_list',
'action' => 'List',
- ]);
- $response = $controller->individualList($request, $tree, $user, $list_module);
+ ])->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' => 'B']);
- $response = $controller->individualList($request, $tree, $user, $list_module);
+ $request = self::createRequest('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' => ',']);
- $response = $controller->individualList($request, $tree, $user, $list_module);
+ $request = self::createRequest('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' => '@']);
- $response = $controller->individualList($request, $tree, $user, $list_module);
+ $request = self::createRequest('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']);
- $response = $controller->individualList($request, $tree, $user, $list_module);
+ $request = self::createRequest('GET', ['route' => 'module', 'module' => 'individual_list', 'action' => 'List', 'surname' => 'BRAUN'])
+ ->withAttribute('tree', $tree)
+ ->withAttribute('user', $user);
+ $response = $controller->individualList($request, $list_module);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
}
}
diff --git a/tests/feature/UserAdminTest.php b/tests/feature/UserAdminTest.php
index ff23a380a8..0c95938d70 100644
--- a/tests/feature/UserAdminTest.php
+++ b/tests/feature/UserAdminTest.php
@@ -18,12 +18,8 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees;
use Fisharebest\Webtrees\Http\Controllers\Admin\UsersController;
-use Fisharebest\Webtrees\Services\DatatablesService;
-use Fisharebest\Webtrees\Services\MailService;
-use Fisharebest\Webtrees\Services\ModuleService;
use Fisharebest\Webtrees\Services\UserService;
-use Nyholm\Psr7\ServerRequest;
-use Psr\Http\Message\ServerRequestInterface;
+use function app;
/**
* Test the user administration pages
@@ -43,12 +39,10 @@ class UserAdminTest extends TestCase
$admin = $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
$user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
- $request = self::createRequest('GET', [
- 'length' => '10',
- ]);
+ $controller = app(UsersController::class);
+ $request = self::createRequest('GET', ['length' => '10',])->withAttribute('user', $admin);
+ $response = $controller->data($request);
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $response = $controller->data(new DatatablesService(), $request, $admin);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
$this->assertSame('application/json', $response->getHeaderLine('Content-Type'));
$html = (string) $response->getBody();
@@ -72,12 +66,12 @@ class UserAdminTest extends TestCase
$admin = $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
$user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
- $request = new ServerRequest('GET', '/');
- $request = $request->withQueryParams(['search' => ['value' => 'admin']]);
- app()->instance(ServerRequestInterface::class, $request);
+ $request = self::createRequest()
+ ->withQueryParams(['search' => ['value' => 'admin']])
+ ->withAttribute('user', $admin);
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $response = $controller->data(new DatatablesService(), $request, $admin);
+ $controller = app(UsersController::class);
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
$this->assertSame('application/json', $response->getHeaderLine('Content-Type'));
@@ -102,12 +96,12 @@ class UserAdminTest extends TestCase
$admin = $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
$user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
- $request = new ServerRequest('GET', '/');
- $request = $request->withQueryParams(['length' => 1]);
- app()->instance(ServerRequestInterface::class, $request);
+ $request = self::createRequest()
+ ->withQueryParams(['length' => 1])
+ ->withAttribute('user', $admin);
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $response = $controller->data(new DatatablesService(), $request, $admin);
+ $controller = app(UsersController::class);
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
$this->assertSame('application/json', $response->getHeaderLine('Content-Type'));
@@ -125,15 +119,15 @@ class UserAdminTest extends TestCase
public function testSortingUserAdminPage(): void
{
$user_service = new UserService();
- $admin = $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
+
+ $admin = $user_service->create('AdminName', 'Administrator', 'admin@example.com', 'secret');
$user_service->create('UserName', 'RealName', 'user@example.com', 'secret');
- $request = new ServerRequest('GET', '/');
- $request = $request->withQueryParams(['column' => 2, 'dir' => 'asc']);
- app()->instance(ServerRequestInterface::class, $request);
+ $request = self::createRequest()
+ ->withQueryParams(['column' => 2, 'dir' => 'asc'])
+ ->withAttribute('user', $admin);
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $response = $controller->data(new DatatablesService(), $request, $admin);
+ $response = app(UsersController::class)->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
$this->assertSame('application/json', $response->getHeaderLine('Content-Type'));
@@ -143,12 +137,12 @@ class UserAdminTest extends TestCase
$pos2 = strpos($html, 'UserName');
$this->assertLessThan($pos2, $pos1);
- $request = new ServerRequest('GET', '/');
- $request = $request->withQueryParams(['order' => [['column' => 2, 'dir' => 'desc']]]);
- app()->instance(ServerRequestInterface::class, $request);
+ $request = self::createRequest()
+ ->withQueryParams(['order' => [['column' => 2, 'dir' => 'desc']]])
+ ->withAttribute('user', $admin);
- $controller = new UsersController(new MailService(), new ModuleService(), new UserService());
- $response = $controller->data(new DatatablesService(), $request, $admin);
+ $controller = app(UsersController::class);
+ $response = $controller->data($request);
$this->assertSame(self::STATUS_OK, $response->getStatusCode());
$this->assertSame('application/json', $response->getHeaderLine('Content-Type'));