You are here

public function FeaturesManagerTest::testAssignConfigPackageWithProviderExcludedConfig in Features 8.3

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

@covers ::assignConfigPackage

File

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

Class

FeaturesManagerTest
@coversDefaultClass Drupal\features\FeaturesManager @group features

Namespace

Drupal\Tests\features\Unit

Code

public function testAssignConfigPackageWithProviderExcludedConfig() {
  $config_collection = [
    'test_config' => new ConfigurationItem('test_config', []),
    'test_config2' => new ConfigurationItem('test_config2', [], [
      'providerExcluded' => TRUE,
    ]),
  ];
  $this->featuresManager
    ->setConfigCollection($config_collection);
  $feature_assigner = $this
    ->prophesize(FeaturesAssignerInterface::class);
  $feature_assigner
    ->getBundle(NULL)
    ->willReturn(new FeaturesBundle([
    'machine_name' => FeaturesBundleInterface::DEFAULT_BUNDLE,
  ], 'features_bundle'));
  $this->featuresManager
    ->setAssigner($feature_assigner
    ->reveal());
  $package = new Package('test_package');
  $original_package = clone $package;
  $this->featuresManager
    ->setPackage($package);
  $this->featuresManager
    ->assignConfigPackage('test_package', [
    'test_config',
    'test_config2',
  ]);
  $this
    ->assertEquals([
    'test_config',
  ], $this->featuresManager
    ->getPackage('test_package')
    ->getConfig(), 'just assign new packages');
  $this->featuresManager
    ->setPackage($original_package);
  $this->featuresManager
    ->assignConfigPackage('test_package', [
    'test_config',
    'test_config2',
  ], TRUE);
  $this
    ->assertEquals([
    'test_config',
    'test_config2',
  ], $this->featuresManager
    ->getPackage('test_package')
    ->getConfig(), 'just assign new packages');
}