function ConfigEntityStorageTest::testDelete

Same name in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityStorageTest::testDelete()
  2. 10 core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityStorageTest::testDelete()
  3. 11.x core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php \Drupal\Tests\Core\Config\Entity\ConfigEntityStorageTest::testDelete()

@covers ::delete @covers ::doDelete

File

core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityStorageTest.php, line 651

Class

ConfigEntityStorageTest
@coversDefaultClass \Drupal\Core\Config\Entity\ConfigEntityStorage @group Config

Namespace

Drupal\Tests\Core\Config\Entity

Code

public function testDelete() {
    // Dependencies are tested in
    // \Drupal\Tests\config\Kernel\ConfigDependencyTest.
    $this->configManager
        ->getConfigEntitiesToChangeOnDependencyRemoval('config', [
        'the_provider.the_config_prefix.foo',
    ], FALSE)
        ->willReturn([
        'update' => [],
        'delete' => [],
        'unchanged' => [],
    ]);
    $this->configManager
        ->getConfigEntitiesToChangeOnDependencyRemoval('config', [
        'the_provider.the_config_prefix.bar',
    ], FALSE)
        ->willReturn([
        'update' => [],
        'delete' => [],
        'unchanged' => [],
    ]);
    $entities = [];
    foreach ([
        'foo',
        'bar',
    ] as $id) {
        $entity = $this->getMockEntity([
            'id' => $id,
        ]);
        $entities[] = $entity;
        $config_object = $this->prophesize(Config::class);
        $config_object->delete()
            ->shouldBeCalled();
        $this->configFactory
            ->getEditable("the_provider.the_config_prefix.{$id}")
            ->willReturn($config_object->reveal());
        $this->moduleHandler
            ->invokeAll('test_entity_type_predelete', [
            $entity,
        ])
            ->shouldBeCalled();
        $this->moduleHandler
            ->invokeAll('entity_predelete', [
            $entity,
            'test_entity_type',
        ])
            ->shouldBeCalled();
        $this->moduleHandler
            ->invokeAll('test_entity_type_delete', [
            $entity,
        ])
            ->shouldBeCalled();
        $this->moduleHandler
            ->invokeAll('entity_delete', [
            $entity,
            'test_entity_type',
        ])
            ->shouldBeCalled();
    }
    $this->cacheTagsInvalidator
        ->invalidateTags([
        $this->entityTypeId . '_list',
    ])
        ->shouldBeCalled();
    $this->entityStorage
        ->delete($entities);
}

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