for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ShlinkioTest\Shlink\Rest\ErrorHandler;
use PHPUnit\Framework\TestCase;
use Shlinkio\Shlink\Rest\ErrorHandler\JsonErrorResponseGenerator;
use Zend\Diactoros\Response;
use Zend\Diactoros\ServerRequestFactory;
class JsonErrorResponseGeneratorTest extends TestCase
{
/**
* @var JsonErrorResponseGenerator
*/
protected $errorHandler;
public function setUp()
$this->errorHandler = new JsonErrorResponseGenerator();
}
* @test
public function noErrorStatusReturnsInternalServerError()
$response = $this->errorHandler->__invoke(null, ServerRequestFactory::fromGlobals(), new Response());
null
object<Throwable>|object<Exception>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
$this->assertInstanceOf(Response\JsonResponse::class, $response);
$this->assertEquals(500, $response->getStatusCode());
public function errorStatusReturnsThatStatus()
$response = $this->errorHandler->__invoke(
null,
ServerRequestFactory::fromGlobals(),
(new Response())->withStatus(405)
);
$this->assertEquals(405, $response->getStatusCode());
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: