Core/tests/AbstractRoutesTestCase.php

58 lines
1.5 KiB
PHP
Raw Normal View History

<?php
namespace Benzine\Tests;
use Benzine\Tests\Traits\AppTestTrait;
2022-06-20 20:40:06 +00:00
use GuzzleHttp\Psr7\Utils;
use Middlewares\Utils\Factory as MiddlewareFactory;
use Psr\Http\Message\ResponseInterface;
2022-06-20 20:40:06 +00:00
use Slim\Psr7\Request;
2020-09-01 03:15:02 +00:00
abstract class AbstractRoutesTestCase extends AbstractBaseTestCase
{
use AppTestTrait;
public function setUp(): void
{
parent::setUp();
}
2022-06-19 01:19:07 +00:00
public function getApp()
{
2022-06-18 00:40:03 +00:00
return $this->slimApp;
}
/**
* @deprecated this has been deprecated in favour of the calls inside AppTestTrait
*
* @param array $dataOrPost
*/
public function request(
string $method,
string $path,
$dataOrPost = null,
bool $isJsonRequest = true,
array $extraHeaders = []
): ResponseInterface {
2022-06-20 20:40:06 +00:00
/** @var Request $request */
$request = $this->createRequest($method, $path);
if ($isJsonRequest) {
if ($dataOrPost !== null) {
$dataOrPost = json_decode(json_encode($dataOrPost), true);
$request = $request->withParsedBody($dataOrPost);
}
$request = $request->withHeader('Content-Type', 'application/json');
2022-06-20 20:40:06 +00:00
}else{
$request->getBody()->write($dataOrPost);
$request->getBody()->rewind();
}
2022-06-19 02:11:19 +00:00
foreach($extraHeaders as $key => $value){
$request = $request->withHeader($key, $value);
}
return $this->slimApp->handle($request);
}
}