You are here

class StorageReplaceDataWrapperTest in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Config/Storage/StorageReplaceDataWrapperTest.php \Drupal\KernelTests\Core\Config\Storage\StorageReplaceDataWrapperTest
  2. 9 core/tests/Drupal/KernelTests/Core/Config/Storage/StorageReplaceDataWrapperTest.php \Drupal\KernelTests\Core\Config\Storage\StorageReplaceDataWrapperTest

Tests StorageReplaceDataWrapper operations.

@group config

Hierarchy

  • class \Drupal\KernelTests\Core\Config\Storage\StorageReplaceDataWrapperTest extends \Drupal\KernelTests\Core\Config\Storage\ConfigStorageTestBase

Expanded class hierarchy of StorageReplaceDataWrapperTest

File

core/tests/Drupal/KernelTests/Core/Config/Storage/StorageReplaceDataWrapperTest.php, line 13

Namespace

Drupal\KernelTests\Core\Config\Storage
View source
class StorageReplaceDataWrapperTest extends ConfigStorageTestBase {

  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->storage = new StorageReplaceDataWrapper($this->container
      ->get('config.storage'));

    // ::listAll() verifications require other configuration data to exist.
    $this->storage
      ->write('system.performance', []);
    $this->storage
      ->replaceData('system.performance', [
      'foo' => 'bar',
    ]);
  }

  /**
   * {@inheritdoc}
   */
  protected function read($name) {
    return $this->storage
      ->read($name);
  }

  /**
   * {@inheritdoc}
   */
  protected function insert($name, $data) {
    $this->storage
      ->write($name, $data);
  }

  /**
   * {@inheritdoc}
   */
  protected function update($name, $data) {
    $this->storage
      ->write($name, $data);
  }

  /**
   * {@inheritdoc}
   */
  protected function delete($name) {
    $this->storage
      ->delete($name);
  }

  /**
   * {@inheritdoc}
   */
  public function testInvalidStorage() {
    $this
      ->markTestSkipped('No-op as this test does not make sense');
  }

  /**
   * Tests if new collections created correctly.
   *
   * @param string $collection
   *   The collection name.
   *
   * @dataProvider providerCollections
   */
  public function testCreateCollection($collection) {
    $initial_collection_name = $this->storage
      ->getCollectionName();

    // Create new storage with given collection and check it is set correctly.
    $new_storage = $this->storage
      ->createCollection($collection);
    $this
      ->assertSame($collection, $new_storage
      ->getCollectionName());

    // Check collection not changed in the current storage instance.
    $this
      ->assertSame($initial_collection_name, $this->storage
      ->getCollectionName());
  }

  /**
   * Data provider for testing different collections.
   *
   * @return array
   *   Returns an array of collection names.
   */
  public function providerCollections() {
    return [
      [
        StorageInterface::DEFAULT_COLLECTION,
      ],
      [
        'foo.bar',
      ],
    ];
  }

}

Members