public function FeaturesManagerTest::testInitPackageFromNonInstalledExtension in Features 8.3
Same name and namespace in other branches
- 8.4 tests/src/Unit/FeaturesManagerTest.php \Drupal\Tests\features\Unit\FeaturesManagerTest::testInitPackageFromNonInstalledExtension()
@covers ::initPackageFromExtension @covers ::getPackageObject
File
- tests/
src/ Unit/ FeaturesManagerTest.php, line 700
Class
- FeaturesManagerTest
- @coversDefaultClass Drupal\features\FeaturesManager @group features
Namespace
Drupal\Tests\features\UnitCode
public function testInitPackageFromNonInstalledExtension() {
$this
->setupVfsWithTestFeature();
$extension = new Extension('vfs://drupal', 'module', 'modules/test_feature/test_feature.info.yml');
$bundle = $this
->prophesize(FeaturesBundle::class);
$bundle
->getFullName('test_feature')
->willReturn('test_feature');
$bundle
->isDefault()
->willReturn(TRUE);
$assigner = $this
->prophesize(FeaturesAssignerInterface::class);
$assigner
->findBundle(Argument::cetera())
->willReturn($bundle
->reveal());
$this->featuresManager
->setRoot('vfs://drupal');
$this->featuresManager
->setAssigner($assigner
->reveal());
$result = $this->featuresManager
->initPackageFromExtension($extension);
$this
->assertInstanceOf(Package::class, $result);
// Ensure that that calling the function twice works.
$result = $this->featuresManager
->initPackageFromExtension($extension);
$this
->assertInstanceOf(Package::class, $result);
$this
->assertEquals('test_feature', $result
->getMachineName());
$this
->assertEquals('Test feature', $result
->getName());
$this
->assertEquals('test description', $result
->getDescription());
$this
->assertEquals('module', $result
->getType());
$this
->assertEquals(FeaturesManagerInterface::STATUS_UNINSTALLED, $result
->getStatus());
}