You are here

public function DefaultContentYamlImportTest::testImportViaConfigImporter in Default Content for D8 2.0.x

Test importing default content via ConfigImporter.

File

tests/src/Kernel/DefaultContentYamlImportTest.php, line 92

Class

DefaultContentYamlImportTest
Test import of default content.

Namespace

Drupal\Tests\default_content\Kernel

Code

public function testImportViaConfigImporter() {

  // Simulate an existing target file.
  file_put_contents('public://test-file.txt', 'exists');
  $sync = $this->container
    ->get('config.storage.sync');
  $this
    ->copyConfig($this->container
    ->get('config.storage'), $sync);

  // Enable the module using the ConfigImporter.
  $extensions = $sync
    ->read('core.extension');
  $extensions['module']['default_content_test_yaml'] = 0;
  $extensions['module'] = module_config_sort($extensions['module']);
  $sync
    ->write('core.extension', $extensions);

  // Slightly hacky but we need the config from the test module too.
  $module_storage = new FileStorage(drupal_get_path('module', 'default_content_test_yaml') . '/config/install');
  foreach ($module_storage
    ->listAll() as $name) {
    $sync
      ->write($name, $module_storage
      ->read($name));
  }
  $this
    ->configImporter()
    ->import();
  $this
    ->doPostInstallTests();
}