Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
JobSetMaintenanceModeTest.php
Go to the documentation of this file.
1 <?php
7 
16 use Symfony\Component\Console\Output\OutputInterface;
17 
21 class JobSetMaintenanceModeTest extends \PHPUnit\Framework\TestCase
22 {
26  private $statusMock;
27 
31  private $outputMock;
32 
36  private $objectManagerProviderMock;
37 
38  public function setUp()
39  {
40  $this->objectManagerProviderMock = $this->createMock(ObjectManagerProvider::class);
41  $objectManager = $this->getMockForAbstractClass(ObjectManagerInterface::class, [], '', false);
42  $cleanupFiles = $this->createMock(CleanupFiles::class);
43  $cache = $this->createMock(Cache::class);
44  $valueMap = [
45  [CleanupFiles::class, $cleanupFiles],
46  [Cache::class, $cache],
47 
48  ];
49  $objectManager->expects($this->atLeastOnce())->method('get')->will($this->returnValueMap($valueMap));
50  $this->objectManagerProviderMock->expects($this->once())->method('get')->willReturn($objectManager);
51 
52  $this->statusMock = $this->createMock(Status::class);
53  $this->outputMock = $this->createMock(OutputInterface::class);
54  }
55 
57  {
58  $command = $this->createMock(MaintenanceDisableCommand::class);
59  $command->expects($this->once())->method('run');
60 
61  $jobMaintenanceDisable = new JobSetMaintenanceMode(
62  $command,
63  $this->objectManagerProviderMock,
64  $this->outputMock,
65  $this->statusMock,
66  'setup:maintenance:disable'
67  );
68  $jobMaintenanceDisable->execute();
69  }
70 
77  {
78  $command = $this->createMock(MaintenanceDisableCommand::class);
79  $command->expects($this->once())->method('isSetAddressInfo')->willReturn(true);
80  $command->expects($this->never())->method('run');
81 
82  $jobMaintenanceDisable = new JobSetMaintenanceMode(
83  $command,
84  $this->objectManagerProviderMock,
85  $this->outputMock,
86  $this->statusMock,
87  'setup:maintenance:disable'
88  );
89  $jobMaintenanceDisable->execute();
90  }
91 
93  {
94  $command = $this->createMock(MaintenanceEnableCommand::class);
95  $command->expects($this->once())->method('run');
96 
97  $jobMaintenanceEnable = new JobSetMaintenanceMode(
98  $command,
99  $this->objectManagerProviderMock,
100  $this->outputMock,
101  $this->statusMock,
102  'setup:maintenance:enable'
103  );
104  $jobMaintenanceEnable->execute();
105  }
106 }
$objectManager
Definition: bootstrap.php:17