diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-01-30 17:41:09 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-01-30 18:14:38 +0000 |
| commit | 9219296a1acfac69c7d7f13505951ddeee5f8899 (patch) | |
| tree | dbce3b199912b6c9450bb93492f5b900134c4570 /tests/app | |
| parent | 5bdbe281716f5b59896b1aae8ba03e4572b315bb (diff) | |
| download | webtrees-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.php | 64 | ||||
| -rw-r--r-- | tests/app/Services/ModuleServiceTest.php | 16 | ||||
| -rw-r--r-- | tests/app/StatsTest.php | 2 |
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')); } } |
