Merge pull request #1949 from nelmio/FIXTESTS

Fix the tests
This commit is contained in:
Guilhem Niot 2022-01-10 17:09:09 +01:00 committed by GitHub
commit 3bc05aa6dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 10 deletions

View File

@ -30,6 +30,9 @@ final class ApiPlatformDescriber extends ExternalDocDescriber
[DocumentationNormalizer::SPEC_VERSION => 3] [DocumentationNormalizer::SPEC_VERSION => 3]
); );
// TODO: remove this
// Temporary fix: zircote/swagger-php does no longer support 3.0.x with x > 0
unset($documentation['openapi']);
unset($documentation['basePath']); unset($documentation['basePath']);
return $documentation; return $documentation;

View File

@ -15,23 +15,23 @@ use Nelmio\ApiDocBundle\Annotation\Areas;
use Nelmio\ApiDocBundle\Annotation\Model; use Nelmio\ApiDocBundle\Annotation\Model;
use Nelmio\ApiDocBundle\Annotation\Security; use Nelmio\ApiDocBundle\Annotation\Security;
use Nelmio\ApiDocBundle\Tests\Functional\Entity\Article; use Nelmio\ApiDocBundle\Tests\Functional\Entity\Article;
use OpenApi\Annotations as OA; use OpenApi\Attributes as OA;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
class ApiController81 extends ApiController80 class ApiController81 extends ApiController80
{ {
#[OA\Get([ #[OA\Get(responses: [
'value' => new OA\Response( new OA\Response(
response: '200', response: '200',
description: 'Success', description: 'Success',
properties: [ attachables: [
'value' => new Model(type: Article::class, groups: ['light']), new Model(type: Article::class, groups: ['light']),
], ],
), ),
])] ])]
#[OA\Parameter(ref: '#/components/parameters/test')] #[OA\Parameter(ref: '#/components/parameters/test')]
#[Route('/article_attributes/{id}', methods: ['GET'])] #[Route('/article_attributes/{id}', methods: ['GET'])]
#[OA\Parameter(name: 'Accept-Version', in: 'header', properties: ['value' => new OA\Schema(type: 'string')])] #[OA\Parameter(name: 'Accept-Version', in: 'header', attachables: [new OA\Schema(type: 'string')])]
public function fetchArticleActionWithAttributes() public function fetchArticleActionWithAttributes()
{ {
} }

View File

@ -15,6 +15,7 @@ use Doctrine\Common\Annotations\AnnotationReader;
use Nelmio\ApiDocBundle\Model\ModelRegistry; use Nelmio\ApiDocBundle\Model\ModelRegistry;
use Nelmio\ApiDocBundle\ModelDescriber\Annotations\OpenApiAnnotationsReader; use Nelmio\ApiDocBundle\ModelDescriber\Annotations\OpenApiAnnotationsReader;
use OpenApi\Annotations as OA; use OpenApi\Annotations as OA;
use OpenApi\Attributes as OAattr;
use OpenApi\Generator; use OpenApi\Generator;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
@ -57,9 +58,9 @@ class AnnotationReaderTest extends TestCase
if (\PHP_VERSION_ID >= 80100) { if (\PHP_VERSION_ID >= 80100) {
yield 'Attributes' => [new class() { yield 'Attributes' => [new class() {
#[OA\Property(example: 1)] #[OAattr\Property(example: 1)]
private $property1; private $property1;
#[OA\Property(example: 'some example', description: 'some description')] #[OAattr\Property(example: 'some example', description: 'some description')]
private $property2; private $property2;
}]; }];
} }

View File

@ -58,7 +58,7 @@ class UtilTest extends TestCase
{ {
$context = Util::createContext([], $this->rootContext); $context = Util::createContext([], $this->rootContext);
$this->assertSame($this->rootContext, $context->getRootContext()); $this->assertContextIsConnectedToRootContext($context);
} }
public function testCreateContextWithProperties() public function testCreateContextWithProperties()
@ -818,7 +818,20 @@ class UtilTest extends TestCase
public function assertIsConnectedToRootContext(OA\AbstractAnnotation $annotation) public function assertIsConnectedToRootContext(OA\AbstractAnnotation $annotation)
{ {
$this->assertSame($this->rootContext, $annotation->_context->getRootContext()); $this->assertContextIsConnectedToRootContext($annotation->_context);
}
public function assertContextIsConnectedToRootContext(Context $context)
{
$getRootContext = \Closure::bind(function (Context $context) use (&$getRootContext) {
if (null !== $context->_parent) {
return $getRootContext($context->_parent);
}
return $context;
}, null, Context::class);
$this->assertSame($this->rootContext, $getRootContext($context));
} }
private function getSetupPropertiesWithoutClass(array $setup) private function getSetupPropertiesWithoutClass(array $setup)