FeaturesManagerTest.php
3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
/**
* @file
* Contains \Drupal\Tests\features\Unit\FeaturesManagerTest.
*/
namespace Drupal\Tests\features\Unit;
use Drupal\features\FeaturesManager;
use Drupal\features\FeaturesManagerInterface;
use Drupal\Tests\UnitTestCase;
/**
* @coversDefaultClass Drupal\features\FeaturesManager
* @group features
*/
class FeaturesManagerTest extends UnitTestCase {
/**
* @var \Drupal\features\FeaturesManagerInterface
*/
protected $featuresManager;
/**
* {@inheritdoc}
*/
public function setUp() {
$entity_type = $this->getMock('\Drupal\Core\Config\Entity\ConfigEntityTypeInterface');
$entity_type->expects($this->any())
->method('getConfigPrefix')
->willReturn('custom');
$entity_manager = $this->getMock('\Drupal\Core\Entity\EntityManagerInterface');
$entity_manager->expects($this->any())
->method('getDefinition')
->willReturn($entity_type);
$config_factory = $this->getMock('\Drupal\Core\Config\ConfigFactoryInterface');
$storage = $this->getMock('Drupal\Core\Config\StorageInterface');
$config_manager = $this->getMock('Drupal\Core\Config\ConfigManagerInterface');
$module_handler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface');
$this->featuresManager = new FeaturesManager($entity_manager, $config_factory, $storage, $config_manager, $module_handler);
}
/**
* @covers ::getActiveStorage
*/
public function testGetActiveStorage() {
$this->assertInstanceOf('\Drupal\Core\Config\StorageInterface', $this->featuresManager->getActiveStorage());
}
/**
* @covers ::getExtensionStorages
*/
public function testGetExtensionStorages() {
$this->assertInstanceOf('\Drupal\features\FeaturesExtensionStoragesInterface', $this->featuresManager->getExtensionStorages());
}
/**
* @covers ::getFullName
* @dataProvider providerTestGetFullName
*/
public function testGetFullName($type, $name, $expected) {
$this->assertEquals($this->featuresManager->getFullName($type, $name), $expected);
}
/**
* Data provider for ::testGetFullName().
*/
public function providerTestGetFullName() {
return [
[NULL, 'name', 'name'],
[FeaturesManagerInterface::SYSTEM_SIMPLE_CONFIG, 'name', 'name'],
['custom', 'name', 'custom.name'],
];
}
/**
* @covers ::getPackage
* @covers ::getPackages
* @covers ::reset
* @covers ::setPackages
*/
public function testPackages() {
$packages = ['foo' => 'bar'];
$this->featuresManager->setPackages($packages);
$this->assertEquals($packages, $this->featuresManager->getPackages());
$this->assertEquals('bar', $this->featuresManager->getPackage('foo'));
$this->featuresManager->reset();
$this->assertArrayEquals([], $this->featuresManager->getPackages());
$this->assertNull($this->featuresManager->getPackage('foo'));
}
/**
* @covers ::setConfigCollection
* @covers ::getConfigCollection
*/
public function testConfigCollection() {
$config = ['config' => 'collection'];
$this->featuresManager->setConfigCollection($config);
$this->assertArrayEquals($config, $this->featuresManager->getConfigCollection());
}
/**
* @covers ::savePackage
*/
public function testSavePackage() {
// @todo
}
}