|
@@ -3,23 +3,32 @@
|
|
|
|
|
|
namespace Tests;
|
|
|
|
|
|
-use App\Database\Migrator;
|
|
|
use GuzzleHttp\Psr7\ServerRequest;
|
|
|
+use Slim\App;
|
|
|
use Symfony\Component\BrowserKit\AbstractBrowser;
|
|
|
+use Symfony\Component\BrowserKit\CookieJar;
|
|
|
+use Symfony\Component\BrowserKit\History;
|
|
|
use Symfony\Component\BrowserKit\Response;
|
|
|
|
|
|
class Client extends AbstractBrowser
|
|
|
{
|
|
|
- protected function doRequest($request)
|
|
|
+ private $app;
|
|
|
+
|
|
|
+ public function __construct(App $app, $server = [], History $history = null, CookieJar $cookieJar = null)
|
|
|
{
|
|
|
- /** @var \Slim\App $app */
|
|
|
- $app = require BASE_DIR.'bootstrap/app.php';
|
|
|
+ parent::__construct($server, $history, $cookieJar);
|
|
|
+ $this->app = $app;
|
|
|
+ }
|
|
|
|
|
|
- $migrator = new Migrator($app->getContainer()->get('database'), BASE_DIR.'resources/schemas');
|
|
|
- $migrator->migrate();
|
|
|
+ protected function doRequest($request)
|
|
|
+ {
|
|
|
+ $response = $this->app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
|
|
|
|
|
|
- $response = $app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
|
|
|
+ $body = $response->getBody();
|
|
|
|
|
|
- return new Response($response->getBody()->getContents(), $response->getStatusCode(), $response->getHeaders());
|
|
|
+ if ($body->isSeekable()) {
|
|
|
+ $body->rewind();
|
|
|
+ }
|
|
|
+ return new Response($body->getContents(), $response->getStatusCode(), $response->getHeaders());
|
|
|
}
|
|
|
}
|