Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdaterTaskCreatorTest.php
Go to the documentation of this file.
1 <?php
8 
9 use \Magento\Setup\Model\ObjectManagerProvider;
10 use \Magento\Setup\Model\UpdaterTaskCreator;
11 
12 class UpdaterTaskCreatorTest extends \PHPUnit\Framework\TestCase
13 {
17  private $updater;
18 
22  private $filesystem;
23 
27  private $navigation;
28 
32  private $objectManagerProvider;
33 
34  public function setUp()
35  {
36  $this->updater = $this->createMock(\Magento\Setup\Model\Updater::class);
37  $this->objectManagerProvider =
38  $this->createMock(\Magento\Setup\Model\ObjectManagerProvider::class);
39  $this->filesystem = $this->createMock(\Magento\Framework\Filesystem::class);
40  $this->navigation = $this->createMock(\Magento\Setup\Model\Navigation::class);
41  $this->model = new UpdaterTaskCreator(
42  $this->filesystem,
43  $this->navigation,
44  $this->updater,
45  $this->objectManagerProvider
46  );
47  $this->navigation->expects($this->any())
48  ->method('getMenuItems')
49  ->willReturn([
50  ['title' => 'A', 'type' => 'update'],
51  ['title' => 'B', 'type' => 'upgrade'],
52  ['title' => 'C', 'type' => 'enable'],
53  ['title' => 'D', 'type' => 'disable'],
54  ]);
55  }
56 
61  public function testCreateUpdaterTasks($payload)
62  {
63  $write = $this->getMockForAbstractClass(
64  \Magento\Framework\Filesystem\Directory\WriteInterface::class,
65  [],
66  '',
67  false
68  );
69  $this->filesystem->expects($this->once())->method('getDirectoryWrite')->willReturn($write);
70  $write->expects($this->once())->method('writeFile');
71  $cacheManager = $this->createMock(\Magento\Framework\App\Cache\Manager::class);
72  $objectManager = $this->getMockForAbstractClass(\Magento\Framework\ObjectManagerInterface::class);
73  $objectManager->expects($this->once())->method('get')->willReturn($cacheManager);
74  $this->objectManagerProvider->expects($this->once())->method('get')->willReturn($objectManager);
75 
76  $cacheManager->expects($this->once())->method('getStatus')->willReturn([
77  'cache1' => 1, 'cache2' => 0, 'cache3' => 1
78  ]);
79  $this->model->createUpdaterTasks($payload);
80  }
81 
86  {
87  return [
88  [['type' => 'uninstall',
89  'packages' => [['name' => 'vendor\/package', 'version' => '1.0.1']],
90  'headerTitle'=>'Uninstall Package1', 'dataOption' => true
91  ], 0, false],
92  [['type' => 'update',
93  'packages' => [['name' => 'vendor\/package', 'version' => '1.0.1',]],
94  'headerTitle'=>'Uninstall Package1'
95  ], 0, false],
96  [['type' => 'enable',
97  'packages' => [['name' => 'vendor\/package', 'version' => '1.0.1',]],
98  'headerTitle'=>'Uninstall Package1'
99  ], 1, true],
100  [['type' => 'disable',
101  'packages' => [['name' => 'vendor\/package', 'version' => '1.0.1',]],
102  'headerTitle'=>'Uninstall Package1'
103  ], 1, true],
104  ];
105  }
106 }
$objectManager
Definition: bootstrap.php:17