From 7f1bdf1172b40d0618611c2190c3033e1e398115 Mon Sep 17 00:00:00 2001 From: Greg Roach Date: Wed, 16 Jan 2019 12:41:01 +0000 Subject: Tests --- tests/feature/ModuleRoutingAndResolvingTest.php | 111 ++++++++++++++++++++++++ tests/feature/ModuleRoutingandResolvingTest.php | 110 ----------------------- 2 files changed, 111 insertions(+), 110 deletions(-) create mode 100644 tests/feature/ModuleRoutingAndResolvingTest.php delete mode 100644 tests/feature/ModuleRoutingandResolvingTest.php (limited to 'tests/feature') diff --git a/tests/feature/ModuleRoutingAndResolvingTest.php b/tests/feature/ModuleRoutingAndResolvingTest.php new file mode 100644 index 0000000000..145f77bb7e --- /dev/null +++ b/tests/feature/ModuleRoutingAndResolvingTest.php @@ -0,0 +1,111 @@ +. + */ +declare(strict_types=1); + +namespace Fisharebest\Webtrees\Http\Controllers; + +use Fisharebest\Webtrees\Auth; +use Fisharebest\Webtrees\Resolver; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; + +/** + * Test the module controller + * + * @covers \Fisharebest\Webtrees\Http\Controllers\ModuleController + * @covers \Fisharebest\Webtrees\Resolver + */ +class ModuleRoutingAndResolvingTest extends \Fisharebest\Webtrees\TestCase +{ + protected static $uses_database = true; + + /** + * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @return void + */ + public function testMissingModule(): void + { + $user = Auth::user(); + $controller = new ModuleController(); + $request = new Request(['route' => 'module']); + $controller->action($request, $user, new Resolver()); + } + + /** + * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @return void + */ + public function testInvalidModule(): void + { + $user = Auth::user(); + $controller = new ModuleController(); + $request = new Request(['route' => 'module', 'module' => 'no-such-module']); + $controller->action($request, $user, new Resolver()); + } + + /** + * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @return void + */ + public function testMissingAction(): void + { + $user = Auth::user(); + $controller = new ModuleController(); + $request = new Request(['route' => 'module', 'module' => 'sitemap']); + $controller->action($request, $user, new Resolver()); + } + + /** + * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @return void + */ + public function testInvalidAction(): void + { + $user = Auth::user(); + $controller = new ModuleController(); + $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'no-such-action']); + $controller->action($request, $user, new Resolver()); + } + + /** + * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException + * @return void + */ + public function testVisitorCannotUseAdminAction(): void + { + //$tree = $this->importTree('demo.ged'); + $user = Auth::user(); + + $controller = new ModuleController(); + + $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'DoAdminStuff']); + //Theme::theme(new WebtreesTheme())->init(new Request, $tree); + $controller->action($request, $user, new Resolver()); + } + + /** + * @return void + */ + public function testSucessfulAction(): void + { + $user = Auth::user(); + $controller = new ModuleController(); + $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'Index']); + $response = $controller->action($request, $user, new Resolver()); + + $this->assertInstanceOf(Response::class, $response); + } +} diff --git a/tests/feature/ModuleRoutingandResolvingTest.php b/tests/feature/ModuleRoutingandResolvingTest.php deleted file mode 100644 index c2e1c9a9fa..0000000000 --- a/tests/feature/ModuleRoutingandResolvingTest.php +++ /dev/null @@ -1,110 +0,0 @@ -. - */ -declare(strict_types=1); - -namespace Fisharebest\Webtrees\Http\Controllers; - -use Fisharebest\Webtrees\Auth; -use Fisharebest\Webtrees\Resolver; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Test the module controller - * - * @covers \Fisharebest\Webtrees\Http\Controllers\ModuleController - */ -class ModuleRoutingTest extends \Fisharebest\Webtrees\TestCase -{ - protected static $uses_database = true; - - /** - * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @return void - */ - public function testMissingModule(): void - { - $user = Auth::user(); - $controller = new ModuleController(); - $request = new Request(['route' => 'module']); - $controller->action($request, $user, new Resolver()); - } - - /** - * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @return void - */ - public function testInvalidModule(): void - { - $user = Auth::user(); - $controller = new ModuleController(); - $request = new Request(['route' => 'module', 'module' => 'no-such-module']); - $controller->action($request, $user, new Resolver()); - } - - /** - * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @return void - */ - public function testMissingAction(): void - { - $user = Auth::user(); - $controller = new ModuleController(); - $request = new Request(['route' => 'module', 'module' => 'sitemap']); - $controller->action($request, $user, new Resolver()); - } - - /** - * @expectedException \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @return void - */ - public function testInvalidAction(): void - { - $user = Auth::user(); - $controller = new ModuleController(); - $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'no-such-action']); - $controller->action($request, $user, new Resolver()); - } - - /** - * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException - * @return void - */ - public function testVisitorCannotUseAdminAction(): void - { - //$tree = $this->importTree('demo.ged'); - $user = Auth::user(); - - $controller = new ModuleController(); - - $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'DoAdminStuff']); - //Theme::theme(new WebtreesTheme())->init(new Request, $tree); - $controller->action($request, $user, new Resolver()); - } - - /** - * @return void - */ - public function testSucessfulAction(): void - { - $user = Auth::user(); - $controller = new ModuleController(); - $request = new Request(['route' => 'module', 'module' => 'sitemap', 'action' => 'Index']); - $response = $controller->action($request, $user, new Resolver()); - - $this->assertInstanceOf(Response::class, $response); - } -} -- cgit v1.3