Fix OpenApiRenderer list could be null (#1881)

Co-authored-by: Samael tomas <samael.tomas@wizbii.com>
This commit is contained in:
Samaël tomas 2021-10-19 14:29:11 +02:00 committed by GitHub
parent 653a1f1776
commit efa83ca54e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View File

@ -26,10 +26,10 @@ class RenderOpenApi
/** @var ContainerInterface */ /** @var ContainerInterface */
private $generatorLocator; private $generatorLocator;
/** @var array<string, OpenApiRenderer> */ /** @var array<string, OpenApiRenderer|null> */
private $openApiRenderers = []; private $openApiRenderers = [];
public function __construct(ContainerInterface $generatorLocator, OpenApiRenderer ...$openApiRenderers) public function __construct(ContainerInterface $generatorLocator, ?OpenApiRenderer ...$openApiRenderers)
{ {
$this->generatorLocator = $generatorLocator; $this->generatorLocator = $generatorLocator;
foreach ($openApiRenderers as $openApiRenderer) { foreach ($openApiRenderers as $openApiRenderer) {

View File

@ -48,6 +48,19 @@ class RenderOpenApiTest extends TestCase
$this->renderOpenApi(); $this->renderOpenApi();
} }
public function testNullFormat()
{
$openApiRenderer = $this->createMock(OpenApiRenderer::class);
$openApiRenderer->method('getFormat')->willReturn($this->format);
$openApiRenderer->expects($this->once())->method('render');
$availableOpenApiRenderers = [
$openApiRenderer,
null,
];
$this->renderOpenApi(...$availableOpenApiRenderers);
}
private function renderOpenApi(...$openApiRenderer): void private function renderOpenApi(...$openApiRenderer): void
{ {
$spec = $this->createMock(OpenApi::class); $spec = $this->createMock(OpenApi::class);