diff --git a/tests/PSR7/SpecFinderTest.php b/tests/PSR7/SpecFinderTest.php index 98e2e362..d9f6c785 100644 --- a/tests/PSR7/SpecFinderTest.php +++ b/tests/PSR7/SpecFinderTest.php @@ -6,6 +6,7 @@ use League\OpenAPIValidation\PSR7\CallbackAddress; use League\OpenAPIValidation\PSR7\OperationAddress; +use League\OpenAPIValidation\PSR7\ResponseAddress; use League\OpenAPIValidation\PSR7\SpecFinder; use League\OpenAPIValidation\PSR7\ValidatorBuilder; use PHPUnit\Framework\TestCase; @@ -122,4 +123,61 @@ public function testHandleParameters(): void $pathItem = $specFinder->findPathSpec(new OperationAddress('/api/1.0/order/123', 'get')); self::assertSame('The order object', $pathItem->get->responses[200]->description); } + + public function testResponseStatusCodesWithWildcards(): void + { + $yaml = <<fromYaml($yaml)->getServerRequestValidator()->getSchema(); + $specFinder = new SpecFinder($schema); + $responseSpec = $specFinder->findResponseSpec( + new ResponseAddress('/products.find', 'get', 404) + ); + self::assertSame('Not Found', $responseSpec->description); + + $responseSpec = $specFinder->findResponseSpec( + new ResponseAddress('/products.find', 'get', 400) + ); + self::assertSame('Client Error', $responseSpec->description); + + $responseSpec = $specFinder->findResponseSpec( + new ResponseAddress('/products.find', 'get', 500) + ); + self::assertSame('Unexpected Error', $responseSpec->description); + } }