You are here

public function FilteredStorageTest::testDeleteFilter in Config Filter 8

Same name and namespace in other branches
  1. 8.2 src/Tests/FilteredStorageTest.php \Drupal\config_filter\Tests\FilteredStorageTest::testDeleteFilter()

Test the delete method invokes the filterDelete in filters.

@dataProvider deleteFilterProvider

File

src/Tests/FilteredStorageTest.php, line 256

Class

FilteredStorageTest
Tests StorageWrapper operations using the CachedStorage.

Namespace

Drupal\config_filter\Tests

Code

public function testDeleteFilter($interim, $expected) {
  $name = $this
    ->randomString();
  $source = $this
    ->prophesize(StorageInterface::class);
  $filterA = $this
    ->prophesizeFilter();
  $filterB = $this
    ->prophesizeFilter();
  $filterA
    ->filterDelete($name, TRUE)
    ->willReturn($interim);
  $filterB
    ->filterDelete($name, $interim)
    ->willReturn($expected);
  if ($expected) {
    $source
      ->delete($name)
      ->willReturn(TRUE);
  }
  else {
    $source
      ->delete(Argument::any())
      ->shouldNotBeCalled();
  }
  $storage = new FilteredStorage($source
    ->reveal(), [
    $filterA
      ->reveal(),
    $filterB
      ->reveal(),
  ]);
  $this
    ->assertEquals($expected, $storage
    ->delete($name));
}