You are here

public function FeaturesManagerTest::testDetectOverrides in Features 8.3

Same name and namespace in other branches
  1. 8.4 tests/src/Unit/FeaturesManagerTest.php \Drupal\Tests\features\Unit\FeaturesManagerTest::testDetectOverrides()

@covers ::detectOverrides

File

tests/src/Unit/FeaturesManagerTest.php, line 557

Class

FeaturesManagerTest
@coversDefaultClass Drupal\features\FeaturesManager @group features

Namespace

Drupal\Tests\features\Unit

Code

public function testDetectOverrides() {
  $config_diff = $this
    ->prophesize(ConfigDiffInterface::class);
  $config_diff
    ->same(Argument::cetera())
    ->will(function ($args) {
    return $args[0] == $args[1];
  });
  \Drupal::getContainer()
    ->set('config_update.config_diff', $config_diff
    ->reveal());
  $package = new Package('test-package', [
    'config' => [
      'test_config',
      'test_overridden',
    ],
  ]);
  $config_storage = $this
    ->prophesize(StorageInterface::class);
  $config_storage
    ->read('test_config')
    ->willReturn([
    'key' => 'value',
  ]);
  $config_storage
    ->read('test_overridden')
    ->willReturn([
    'key2' => 'value2',
  ]);
  $extension_storage = $this
    ->prophesize(FeaturesExtensionStoragesInterface::class);
  $extension_storage
    ->read('test_config')
    ->willReturn([
    'key' => 'value',
  ]);
  $extension_storage
    ->read('test_overridden')
    ->willReturn([
    'key2' => 'value0',
  ]);
  $features_manager = new TestFeaturesManager($this->root, $this->entityTypeManager, $this->configFactory, $config_storage
    ->reveal(), $this->configManager, $this->moduleHandler, $this->configReverter, $this->moduleExtensionList);
  $features_manager
    ->setExtensionStorages($extension_storage
    ->reveal());
  $this
    ->assertEquals([
    'test_overridden',
  ], $features_manager
    ->detectOverrides($package));
}