FileCopierFactoryTest.php in Automatic Updates 8.2
File
package_manager/tests/src/Kernel/FileCopierFactoryTest.php
View source
<?php
namespace Drupal\Tests\package_manager\Kernel;
use Drupal\KernelTests\KernelTestBase;
class FileCopierFactoryTest extends KernelTestBase {
protected static $modules = [
'package_manager',
];
public function providerFactory() : array {
return [
[
'rsync',
],
[
'php',
],
[
NULL,
],
];
}
public function testFactory(?string $configured_copier) : void {
$factory = $this->container
->get('package_manager.file_copier.factory');
switch ($configured_copier) {
case 'rsync':
$expected_copier = $this->container
->get('package_manager.file_copier.rsync');
break;
case 'php':
$expected_copier = $this->container
->get('package_manager.file_copier.php');
break;
default:
$expected_copier = $factory
->create();
break;
}
$this
->config('package_manager.settings')
->set('file_copier', $configured_copier)
->save();
$this
->assertSame($expected_copier, $factory
->create());
}
}