43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php declare(strict_types=1); | ||
|  | 
 | ||
|  | /** | ||
|  |  * @license Apache 2.0 | ||
|  |  */ | ||
|  | 
 | ||
|  | namespace OpenApi\Tests\Processors; | ||
|  | 
 | ||
|  | use OpenApi\Annotations\Delete; | ||
|  | use OpenApi\Annotations\Get; | ||
|  | use OpenApi\Annotations\Operation; | ||
|  | use OpenApi\Annotations\Post; | ||
|  | use OpenApi\Processors\OperationId; | ||
|  | use OpenApi\Tests\OpenApiTestCase; | ||
|  | 
 | ||
|  | class OperationIdTest extends OpenApiTestCase | ||
|  | { | ||
|  |     public function testOperationId() | ||
|  |     { | ||
|  |         $analysis = $this->analysisFromFixtures([ | ||
|  |             'Processors/EntityControllerClass.php', | ||
|  |             'Processors/EntityControllerInterface.php', | ||
|  |             'Processors/EntityControllerTrait.php', | ||
|  |         ]); | ||
|  |         $analysis->process([new OperationId(false)]); | ||
|  |         $operations = $analysis->getAnnotationsOfType(Operation::class); | ||
|  | 
 | ||
|  |         $this->assertCount(3, $operations); | ||
|  | 
 | ||
|  |         $this->assertSame('entity/{id}', $operations[0]->path); | ||
|  |         $this->assertInstanceOf(Get::class, $operations[0]); | ||
|  |         $this->assertSame('GET::entity/{id}::OpenApi\Tests\Fixtures\Processors\EntityControllerClass::getEntry', $operations[0]->operationId); | ||
|  | 
 | ||
|  |         $this->assertSame('entity/{id}', $operations[1]->path); | ||
|  |         $this->assertInstanceOf(Post::class, $operations[1]); | ||
|  |         $this->assertSame('POST::entity/{id}::OpenApi\Tests\Fixtures\Processors\EntityControllerInterface::updateEntity', $operations[1]->operationId); | ||
|  | 
 | ||
|  |         $this->assertSame('entities/{id}', $operations[2]->path); | ||
|  |         $this->assertInstanceOf(Delete::class, $operations[2]); | ||
|  |         $this->assertSame('DELETE::entities/{id}::OpenApi\Tests\Fixtures\Processors\EntityControllerTrait::deleteEntity', $operations[2]->operationId); | ||
|  |     } | ||
|  | } |