1
0
mirror of https://github.com/flarum/core.git synced 2025-07-21 08:41:17 +02:00

Integration tests: Memoize request handler as well

This is useful to send HTTP requests (or their PSR-7 equivalents)
through the entire application's middleware stack (instead of
talking to specific controllers, which should be considered
implementation detail).
This commit is contained in:
Franz Liedke
2019-06-04 23:50:38 +02:00
parent 5632ffb62b
commit a7259bbd5f

View File

@@ -24,17 +24,22 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
$this->app(); $this->app();
} }
/**
* @var \Flarum\Foundation\InstalledApp
*/
protected $app; protected $app;
/**
* @var \Psr\Http\Server\RequestHandlerInterface
*/
protected $server;
/** /**
* @return \Flarum\Foundation\InstalledApp * @return \Flarum\Foundation\InstalledApp
*/ */
protected function app() protected function app()
{ {
if (! is_null($this->app)) { if (is_null($this->app)) {
return $this->app;
}
$site = new InstalledSite( $site = new InstalledSite(
[ [
'base' => __DIR__.'/tmp', 'base' => __DIR__.'/tmp',
@@ -44,7 +49,11 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
include __DIR__.'/tmp/config.php' include __DIR__.'/tmp/config.php'
); );
return $this->app = $site->bootApp(); $this->app = $site->bootApp();
$this->server = $this->app->getRequestHandler();
}
return $this->app;
} }
protected $database; protected $database;