function ConfigEntityBaseUnitTest::testCalculateDependenciesWithThirdPartySettings

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest::testCalculateDependenciesWithThirdPartySettings()
  2. 8.9.x core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest::testCalculateDependenciesWithThirdPartySettings()
  3. 10 core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest::testCalculateDependenciesWithThirdPartySettings()

@covers ::calculateDependencies @covers ::getDependencies @covers ::onDependencyRemoval

File

core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php, line 337

Class

ConfigEntityBaseUnitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Config%21Entity%21ConfigEntityBase.php/class/ConfigEntityBase/11.x" title="Defines a base configuration entity class." class="local">\Drupal\Core\Config\Entity\ConfigEntityBase</a> @group Config

Namespace

Drupal\Tests\Core\Config\Entity

Code

public function testCalculateDependenciesWithThirdPartySettings() : void {
    $this->entity = $this->getMockBuilder(ConfigEntityBaseMockableClass::class)
        ->setConstructorArgs([
        [],
        $this->entityTypeId,
    ])
        ->onlyMethods([])
        ->getMock();
    $this->entity
        ->setThirdPartySetting('test_provider', 'test', 'test');
    $this->entity
        ->setThirdPartySetting('test_provider2', 'test', 'test');
    $this->entity
        ->setThirdPartySetting(static::PROVIDER, 'test', 'test');
    $this->assertEquals([
        'test_provider',
        'test_provider2',
    ], $this->entity
        ->calculateDependencies()
        ->getDependencies()['module']);
    $changed = $this->entity
        ->onDependencyRemoval([
        'module' => [
            'test_provider2',
        ],
    ]);
    $this->assertTrue($changed, 'Calling onDependencyRemoval with an existing third party dependency provider returns TRUE.');
    $changed = $this->entity
        ->onDependencyRemoval([
        'module' => [
            'test_provider3',
        ],
    ]);
    $this->assertFalse($changed, 'Calling onDependencyRemoval with a non-existing third party dependency provider returns FALSE.');
    $this->assertEquals([
        'test_provider',
    ], $this->entity
        ->calculateDependencies()
        ->getDependencies()['module']);
}

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