for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ByTIC\Hello\Tests\Modules\Oauth\Controllers;
use ByTIC\Hello\Modules\Oauth\Controllers\KeysController;
use ByTIC\Hello\Tests\AbstractTest;
use ByTIC\Hello\Utility\CryptHelper;
use Nip\Container\Container;
use Nip\Http\Response\JsonResponse;
/**
* Class KeysControllerTest
* @package ByTIC\Hello\Tests\Modules\Oauth\Controllers
*/
class KeysControllerTest extends AbstractTest
{
public function testIndex()
$container = new Container();
$container->set('hello.keys.public', CryptHelper::makeCryptKey('public'));
Container::setInstance($container);
$controller = new KeysController();
/** @var JsonResponse $response */
$response = $controller->callAction('index');
'index'
string
boolean
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);
self::assertInstanceOf(JsonResponse::class, $response);
$content = $response->getContent();
self::assertJson($content);
}
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: