function ConfigConfiguratorTest::testFullStrictness

Tests strict mode.

File

core/tests/Drupal/KernelTests/Core/Recipe/ConfigConfiguratorTest.php, line 141

Class

ConfigConfiguratorTest
@covers \Drupal\Core\Recipe\ConfigConfigurator[[api-linebreak]] @group Recipe

Namespace

Drupal\KernelTests\Core\Recipe

Code

public function testFullStrictness() : void {
  $recipe = Recipe::createFromDirectory('core/recipes/page_content_type');
  RecipeRunner::processRecipe($recipe);
  NodeType::load('page')->set('description', 'And now for something completely different.')
    ->save();
  // Clone the recipe into the virtual file system, and opt all of its config
  // into strict mode.
  $clone_dir = $this->cloneRecipe($recipe->path);
  $this->alterRecipe($clone_dir, function (array $data) : array {
    $data['config']['strict'] = TRUE;
    return $data;
  });
  // If we try to instantiate this recipe, we should an exception.
  $this->expectException(RecipePreExistingConfigException::class);
  $this->expectExceptionMessage("The configuration 'node.type.page' exists already and does not match the recipe's configuration");
  Recipe::createFromDirectory($clone_dir);
}

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