function VendorHardeningPluginTest::testCleanAllPackages

Same name in other branches
  1. 8.9.x core/tests/Drupal/Tests/Composer/Plugin/VendorHardening/VendorHardeningPluginTest.php \Drupal\Tests\Composer\Plugin\VendorHardening\VendorHardeningPluginTest::testCleanAllPackages()
  2. 10 core/tests/Drupal/Tests/Composer/Plugin/VendorHardening/VendorHardeningPluginTest.php \Drupal\Tests\Composer\Plugin\VendorHardening\VendorHardeningPluginTest::testCleanAllPackages()
  3. 11.x core/tests/Drupal/Tests/Composer/Plugin/VendorHardening/VendorHardeningPluginTest.php \Drupal\Tests\Composer\Plugin\VendorHardening\VendorHardeningPluginTest::testCleanAllPackages()

@covers ::cleanAllPackages

File

core/tests/Drupal/Tests/Composer/Plugin/VendorHardening/VendorHardeningPluginTest.php, line 110

Class

VendorHardeningPluginTest
@coversDefaultClass \Drupal\Composer\Plugin\VendorHardening\VendorHardeningPlugin @group VendorHardening

Namespace

Drupal\Tests\Composer\Plugin\VendorHardening

Code

public function testCleanAllPackages() {
    $config = $this->getMockBuilder(Config::class)
        ->disableOriginalConstructor()
        ->getMock();
    $config->expects($this->once())
        ->method('getAllCleanupPaths')
        ->willReturn([
        'drupal/package' => [
            'tests',
        ],
    ]);
    $package = $this->getMockBuilder(PackageInterface::class)
        ->getMockForAbstractClass();
    $package->expects($this->any())
        ->method('getName')
        ->willReturn('drupal/package');
    $plugin = $this->getMockBuilder(VendorHardeningPlugin::class)
        ->onlyMethods([
        'getInstalledPackages',
        'getInstallPathForPackage',
    ])
        ->getMock();
    $plugin->expects($this->once())
        ->method('getInstalledPackages')
        ->willReturn([
        $package,
    ]);
    $plugin->expects($this->once())
        ->method('getInstallPathForPackage')
        ->willReturn(vfsStream::url('vendor/drupal/package'));
    $io = $this->prophesize(IOInterface::class);
    $ref_io = new \ReflectionProperty($plugin, 'io');
    $ref_io->setAccessible(TRUE);
    $ref_io->setValue($plugin, $io->reveal());
    $ref_config = new \ReflectionProperty($plugin, 'config');
    $ref_config->setAccessible(TRUE);
    $ref_config->setValue($plugin, $config);
    $this->assertFileExists(vfsStream::url('vendor/drupal/package/tests/SomeTest.php'));
    $plugin->cleanAllPackages();
    $this->assertFileDoesNotExist(vfsStream::url('vendor/drupal/package/tests'));
}

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