function ConfigDependenciesTest::testOnDependencyRemovalRemoveFormatForMethodGranularity

Same name and namespace in other branches
  1. 9 core/modules/hal/tests/src/Kernel/rest/Entity/ConfigDependenciesTest.php \Drupal\Tests\hal\Kernel\rest\Entity\ConfigDependenciesTest::testOnDependencyRemovalRemoveFormatForMethodGranularity()

@covers ::onDependencyRemoval @covers ::onDependencyRemovalForMethodGranularity

File

core/modules/rest/tests/src/Kernel/Entity/ConfigDependenciesTest.php, line 95

Class

ConfigDependenciesTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21rest%21src%21Entity%21ConfigDependencies.php/class/ConfigDependencies/8.9.x" title="Calculates rest resource config dependencies." class="local">\Drupal\rest\Entity\ConfigDependencies</a>

Namespace

Drupal\Tests\rest\Kernel\Entity

Code

public function testOnDependencyRemovalRemoveFormatForMethodGranularity() {
    $config_dependencies = new ConfigDependencies([
        'hal_json' => 'hal',
        'json' => 'serialization',
    ], [
        'basic_auth' => 'basic_auth',
    ]);
    $rest_config = RestResourceConfig::create([
        'plugin_id' => 'entity:entity_test',
        'granularity' => RestResourceConfigInterface::METHOD_GRANULARITY,
        'configuration' => [
            'GET' => [
                'supported_auth' => [
                    'cookie',
                ],
                'supported_formats' => [
                    'json',
                ],
            ],
            'POST' => [
                'supported_auth' => [
                    'basic_auth',
                ],
                'supported_formats' => [
                    'hal_json',
                ],
            ],
        ],
    ]);
    $this->assertTrue($config_dependencies->onDependencyRemoval($rest_config, [
        'module' => [
            'hal',
        ],
    ]));
    $this->assertEquals([
        'json',
    ], $rest_config->getFormats('GET'));
    $this->assertEquals([], $rest_config->getFormats('POST'));
    $this->assertEquals([
        'GET' => [
            'supported_auth' => [
                'cookie',
            ],
            'supported_formats' => [
                'json',
            ],
        ],
        'POST' => [
            'supported_auth' => [
                'basic_auth',
            ],
        ],
    ], $rest_config->get('configuration'));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.