summaryrefslogtreecommitdiff
path: root/tests/app/Http/Middleware/BootModulesTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/app/Http/Middleware/BootModulesTest.php')
-rw-r--r--tests/app/Http/Middleware/BootModulesTest.php44
1 files changed, 11 insertions, 33 deletions
diff --git a/tests/app/Http/Middleware/BootModulesTest.php b/tests/app/Http/Middleware/BootModulesTest.php
index 2ded4ecf95..29c80cdc46 100644
--- a/tests/app/Http/Middleware/BootModulesTest.php
+++ b/tests/app/Http/Middleware/BootModulesTest.php
@@ -18,6 +18,7 @@ declare(strict_types=1);
namespace Fisharebest\Webtrees\Http\Middleware;
+use Fig\Http\Message\StatusCodeInterface;
use Fisharebest\Webtrees\Module\WebtreesTheme;
use Fisharebest\Webtrees\Module\XeneaTheme;
use Fisharebest\Webtrees\Services\ModuleService;
@@ -39,45 +40,22 @@ class BootModulesTest extends TestCase
*/
public function testMiddleware(): void
{
- $handler = $this->createMock(RequestHandlerInterface::class);
- $handler->method('handle')->willReturn(response());
-
- // Theme 1 (not default) is not booted.
- $theme1 = new class extends WebtreesTheme {
- public function boot()
- {
- throw new \Exception('Should not get here!');
- }
- };
-
- // Theme 2 (default) is booted.
- $theme2 = new class($this) extends XeneaTheme {
- private $booted = false;
- private $test;
+ $theme = new WebtreesTheme();
- public function __construct($test)
- {
- $this->test = $test;
- }
-
- public function boot()
- {
- $this->booted = true;
- }
-
- public function __destruct()
- {
- $this->test->assertTrue($this->booted);
- }
- };
+ $handler = $this->createMock(RequestHandlerInterface::class);
+ $handler->method('handle')->willReturn(response('It works!'));
$module_service = $this->createMock(ModuleService::class);
- $module_service->method('all')->willReturn(new Collection([$theme1, $theme2]));
+ $module_service
+ ->expects($this->once())
+ ->method('bootModules')
+ ->with($theme);
$request = self::createRequest();
- $middleware = new BootModules($module_service, $theme2);
+ $middleware = new BootModules($module_service, $theme);
$response = $middleware->process($request, $handler);
- $this->assertSame(self::STATUS_OK, $response->getStatusCode());
+ $this->assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode());
+ $this->assertSame('It works!', (string) $response->getBody());
}
}