ApiPlatform\Core\Tests\Bridge\Symfony\Routing\ApiLoaderTest::testApiLoader PHP Method

testApiLoader() public method

public testApiLoader ( )
    public function testApiLoader()
    {
        $resourceMetadata = new ResourceMetadata();
        $resourceMetadata = $resourceMetadata->withShortName('dummy');
        //default operation based on OperationResourceMetadataFactory
        $resourceMetadata = $resourceMetadata->withItemOperations(['get' => ['method' => 'GET'], 'put' => ['method' => 'PUT'], 'delete' => ['method' => 'DELETE']]);
        //custom operations
        $resourceMetadata = $resourceMetadata->withCollectionOperations(['my_op' => ['method' => 'GET', 'controller' => 'some.service.name'], 'my_second_op' => ['method' => 'POST'], 'my_path_op' => ['method' => 'GET', 'path' => 'some/custom/path']]);
        $routeCollection = $this->getApiLoaderWithResourceMetadata($resourceMetadata)->load(null);
        $this->assertEquals($this->getRoute('/dummies/{id}.{_format}', 'api_platform.action.get_item', DummyEntity::class, 'get', ['GET']), $routeCollection->get('api_dummies_get_item'));
        $this->assertEquals($this->getRoute('/dummies/{id}.{_format}', 'api_platform.action.delete_item', DummyEntity::class, 'delete', ['DELETE']), $routeCollection->get('api_dummies_delete_item'));
        $this->assertEquals($this->getRoute('/dummies/{id}.{_format}', 'api_platform.action.put_item', DummyEntity::class, 'put', ['PUT']), $routeCollection->get('api_dummies_put_item'));
        $this->assertEquals($this->getRoute('/dummies.{_format}', 'some.service.name', DummyEntity::class, 'my_op', ['GET'], true), $routeCollection->get('api_dummies_my_op_collection'));
        $this->assertEquals($this->getRoute('/dummies.{_format}', 'api_platform.action.post_collection', DummyEntity::class, 'my_second_op', ['POST'], true), $routeCollection->get('api_dummies_my_second_op_collection'));
        $this->assertEquals($this->getRoute('/some/custom/path', 'api_platform.action.get_collection', DummyEntity::class, 'my_path_op', ['GET'], true), $routeCollection->get('api_dummies_my_path_op_collection'));
    }