From 89f459dc0742a91da0ccacbbe7d6e176a0efd5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20G=C3=B3mez?= Date: Tue, 26 Jan 2016 14:20:49 +0100 Subject: [PATCH] Fix #565 Change PUT by PATCH Refactor tests for #565 --- Extractor/ApiDocExtractor.php | 4 ++-- Tests/Extractor/ApiDocExtractorTest.php | 4 ++-- Tests/Fixtures/app/config/routing.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php index 904dc9005..6d9168e46 100644 --- a/Extractor/ApiDocExtractor.php +++ b/Extractor/ApiDocExtractor.php @@ -322,8 +322,8 @@ protected function extractData(ApiDoc $annotation, Route $route, \ReflectionMeth $parameters = $this->clearClasses($parameters); $parameters = $this->generateHumanReadableTypes($parameters); - if ('PUT' === $annotation->getMethod()) { - // All parameters are optional with PUT (update) + if ('PATCH' === $annotation->getMethod()) { + // All parameters are optional with PATCH (update) array_walk($parameters, function ($val, $key) use (&$parameters) { $parameters[$key]['required'] = false; }); diff --git a/Tests/Extractor/ApiDocExtractorTest.php b/Tests/Extractor/ApiDocExtractorTest.php index 15337a646..fae014630 100644 --- a/Tests/Extractor/ApiDocExtractorTest.php +++ b/Tests/Extractor/ApiDocExtractorTest.php @@ -286,13 +286,13 @@ public function testPostRequestDoesRequireParametersWhenMarkedAsSuch() $this->assertTrue($parameters['required_field']['required']); } - public function testPutRequestDoesNeverRequireParameters() + public function testPatchRequestDoesNeverRequireParameters() { $container = $this->getContainer(); /** @var ApiDocExtractor $extractor */ $extractor = $container->get('nelmio_api_doc.extractor.api_doc_extractor'); /** @var ApiDoc $annotation */ - $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::requiredParametersAction', 'test_put_disables_required_parameters'); + $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::requiredParametersAction', 'test_patch_disables_required_parameters'); $parameters = $annotation->getParameters(); $this->assertFalse($parameters['required_field']['required']); diff --git a/Tests/Fixtures/app/config/routing.yml b/Tests/Fixtures/app/config/routing.yml index fe077c0d0..672269989 100644 --- a/Tests/Fixtures/app/config/routing.yml +++ b/Tests/Fixtures/app/config/routing.yml @@ -209,9 +209,9 @@ test_required_parameters: requirements: _format: json|xml|html -test_put_disables_required_parameters: +test_patch_disables_required_parameters: path: /api/other-resources/{id}.{_format} - methods: [PUT] + methods: [PATCH] defaults: { _controller: NelmioApiDocTestBundle:Resource:requiredParametersAction, _format: json } requirements: _format: json|xml|html