summaryrefslogtreecommitdiff
path: root/tests/app
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2019-01-30 17:41:09 +0000
committerGreg Roach <fisharebest@webtrees.net>2019-01-30 18:14:38 +0000
commit9219296a1acfac69c7d7f13505951ddeee5f8899 (patch)
treedbce3b199912b6c9450bb93492f5b900134c4570 /tests/app
parent5bdbe281716f5b59896b1aae8ba03e4572b315bb (diff)
downloadwebtrees-9219296a1acfac69c7d7f13505951ddeee5f8899.tar.gz
webtrees-9219296a1acfac69c7d7f13505951ddeee5f8899.tar.bz2
webtrees-9219296a1acfac69c7d7f13505951ddeee5f8899.zip
Use dependency injection for Statistics class
Diffstat (limited to 'tests/app')
-rw-r--r--tests/app/Http/Controllers/ModuleControllerTest.php64
-rw-r--r--tests/app/Services/ModuleServiceTest.php16
-rw-r--r--tests/app/StatsTest.php2
3 files changed, 60 insertions, 22 deletions
diff --git a/tests/app/Http/Controllers/ModuleControllerTest.php b/tests/app/Http/Controllers/ModuleControllerTest.php
index a2464086c1..2ccea48b03 100644
--- a/tests/app/Http/Controllers/ModuleControllerTest.php
+++ b/tests/app/Http/Controllers/ModuleControllerTest.php
@@ -20,6 +20,7 @@ namespace Fisharebest\Webtrees\Http\Controllers;
use Fisharebest\Webtrees\Auth;
use Fisharebest\Webtrees\Application;
use Fisharebest\Webtrees\Services\ModuleService;
+use Fisharebest\Webtrees\Tree;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@@ -38,10 +39,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testMissingModule(): void
{
- $user = Auth::user();
- $controller = new ModuleController(new ModuleService());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$request = new Request(['route' => 'module']);
- $controller->action($request, $user, new Application());
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ app()->dispatch($controller, 'action');
}
/**
@@ -50,10 +55,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testInvalidModule(): void
{
- $user = Auth::user();
- $controller = new ModuleController(new ModuleService());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$request = new Request(['route' => 'module', 'module' => 'no-such-module']);
- $controller->action($request, $user, new Application());
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ app()->dispatch($controller, 'action');
}
/**
@@ -62,10 +71,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testMissingAction(): void
{
- $user = Auth::user();
- $controller = new ModuleController(new ModuleService());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$request = new Request(['route' => 'module', 'module' => 'sitemap']);
- $controller->action($request, $user, new Application());
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ app()->dispatch($controller, 'action');
}
/**
@@ -74,10 +87,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testInvalidAction(): void
{
- $user = Auth::user();
- $controller = new ModuleController(new ModuleService());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'no-such-action']);
- $controller->action($request, $user, new Application());
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ app()->dispatch($controller, 'action');
}
/**
@@ -86,13 +103,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testVisitorCannotUseAdminAction(): void
{
- //$tree = $this->importTree('demo.ged');
- $user = Auth::user();
-
- $controller = new ModuleController(new ModuleService());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
$request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'DoAdminStuff']);
- $controller->action($request, $user, new Application());
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ app()->dispatch($controller, 'action');
}
/**
@@ -100,10 +118,14 @@ class ModuleControllerTest extends \Fisharebest\Webtrees\TestCase
*/
public function testSucessfulAction(): void
{
- $user = Auth::user();
- $controller = new ModuleController(new ModuleService());
- $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'Index']);
- $response = $controller->action($request, $user, new Application());
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
+ $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'Index']);
+ app()->instance(Request::class, $request);
+
+ $controller = app()->make(ModuleController::class);
+ $response = app()->dispatch($controller, 'action');
$this->assertInstanceOf(Response::class, $response);
}
diff --git a/tests/app/Services/ModuleServiceTest.php b/tests/app/Services/ModuleServiceTest.php
index 6f3f0f3a0b..6ba4af8b4f 100644
--- a/tests/app/Services/ModuleServiceTest.php
+++ b/tests/app/Services/ModuleServiceTest.php
@@ -30,6 +30,7 @@ use Fisharebest\Webtrees\Module\ModuleTabInterface;
use Fisharebest\Webtrees\Module\ModuleThemeInterface;
use Fisharebest\Webtrees\Module\TreesMenuModule;
use Fisharebest\Webtrees\TestCase;
+use Fisharebest\Webtrees\Tree;
use Fisharebest\Webtrees\User;
/**
@@ -50,6 +51,9 @@ class ModuleServiceTest extends TestCase
*/
public function testAll(): void
{
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$module_service = new ModuleService();
$this->assertNotEmpty($module_service->all());
@@ -64,6 +68,9 @@ class ModuleServiceTest extends TestCase
*/
public function testFindByComponent(): void
{
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$module_service = new ModuleService();
$tree = $this->importTree('demo.ged');
@@ -83,6 +90,9 @@ class ModuleServiceTest extends TestCase
*/
public function testFindByInterface(): void
{
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$module_service = new ModuleService();
$this->assertNotEmpty($module_service->findByInterface(ModuleAnalyticsInterface::class)->all());
@@ -106,6 +116,9 @@ class ModuleServiceTest extends TestCase
*/
public function testFindByClass(): void
{
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$module_service = new ModuleService();
$this->assertNull($module_service->findByClass('not-a-valid-class-name'));
@@ -118,6 +131,9 @@ class ModuleServiceTest extends TestCase
*/
public function testFindByName(): void
{
+ $tree = Tree::create('name', 'title');
+ app()->instance(Tree::class, $tree);
+
$module_service = new ModuleService();
$this->assertNull($module_service->findByName('not-a-valid-module-name'));
diff --git a/tests/app/StatsTest.php b/tests/app/StatsTest.php
index a6d3d4813c..4e37a9e02a 100644
--- a/tests/app/StatsTest.php
+++ b/tests/app/StatsTest.php
@@ -29,6 +29,6 @@ class StatsTest extends \Fisharebest\Webtrees\TestCase
*/
public function testClassExists(): void
{
- $this->assertTrue(class_exists('\Fisharebest\Webtrees\Stats'));
+ $this->assertTrue(class_exists('\Fisharebest\Webtrees\Statistics'));
}
}