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);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |