9 use \Magento\Setup\Controller\Modules;
16 private $objectManager;
35 public function setUp()
37 $this->objectManager = $this->getMockForAbstractClass(\
Magento\Framework\ObjectManagerInterface::class);
41 $objectManagerProvider = $this->createMock(\
Magento\Setup\Model\ObjectManagerProvider::class);
42 $objectManagerProvider->expects($this->once())->method(
'get')->willReturn($this->objectManager);
43 $this->modules = $this->createMock(\
Magento\Setup\Model\ModuleStatus::class);
44 $this->status = $this->createMock(\
Magento\Framework\
Module\Status::class);
45 $this->objectManager->expects($this->once())->method(
'create')->will($this->returnValue($this->status));
46 $this->controller =
new Modules($this->modules, $objectManagerProvider);
56 $this->modules->expects($this->once())->method(
'getAllModules')->willReturn($expected[
'modules']);
57 $this->status->expects($this->once())->method(
'checkConstraints')->willReturn([]);
58 $jsonModel = $this->controller->indexAction();
59 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
60 $variables = $jsonModel->getVariables();
61 $this->assertArrayHasKey(
'success', $variables);
62 $this->assertTrue($variables[
'success']);
72 $this->modules->expects($this->once())->method(
'getAllModules')->willReturn($expected[
'modules']);
73 $this->status->expects($this->once())
74 ->method(
'checkConstraints')
75 ->willReturn([
'ModuleA',
'ModuleB']);
76 $jsonModel = $this->controller->indexAction();
77 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
78 $variables = $jsonModel->getVariables();
79 $this->assertArrayHasKey(
'success', $variables);
80 $this->assertArrayHasKey(
'error', $variables);
81 $this->assertFalse($variables[
'success']);
90 'with_modules' => [[
'modules' => [
91 'module1' => [
'name' =>
'module1',
'selected' =>
true,
'disabled' =>
true],
92 'module2' => [
'name' =>
'module2',
'selected' =>
true,
'disabled' =>
true],
93 'module3' => [
'name' =>
'module3',
'selected' =>
true,
'disabled' =>
true]
95 'some_not_selected' => [[
'modules' => [
96 'module1' => [
'name' =>
'module1',
'selected' =>
false,
'disabled' =>
true],
97 'module2' => [
'name' =>
'module2',
'selected' =>
true,
'disabled' =>
true],
98 'module3' => [
'name' =>
'module3',
'selected' =>
false,
'disabled' =>
true]
100 'some_disabled' => [[
'modules' => [
101 'module1' => [
'name' =>
'module1',
'selected' =>
true,
'disabled' =>
false],
102 'module2' => [
'name' =>
'module2',
'selected' =>
true,
'disabled' =>
true],
103 'module3' => [
'name' =>
'module3',
'selected' =>
true,
'disabled' =>
false]
105 'no_modules' => [[
'modules' => []]],
testIndexAction(array $expected)
indexActionDataProvider()
testIndexActionWithError(array $expected)