Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
JobDbRollbackTest.php
Go to the documentation of this file.
1 <?php
7 
9 
10 class JobDbRollbackTest extends \PHPUnit\Framework\TestCase
11 {
15  private $jobDbRollback;
16 
20  private $backupRollbackFactory;
21 
25  private $backupRollback;
26 
30  private $status;
31 
35  private $objectManagerProvider;
36 
37  public function setup()
38  {
39  $this->backupRollbackFactory = $this->createMock(\Magento\Framework\Setup\BackupRollbackFactory::class);
40  $this->backupRollback = $this->createMock(\Magento\Framework\Setup\BackupRollback::class);
41  $this->status = $this->createMock(\Magento\Setup\Model\Cron\Status::class);
42  $output =
43  $this->getMockForAbstractClass(\Symfony\Component\Console\Output\OutputInterface::class, [], '', false);
44  $this->objectManagerProvider =
45  $this->createMock(\Magento\Setup\Model\ObjectManagerProvider::class);
46 
47  $appState = $this->createMock(\Magento\Framework\App\State::class);
48  $configLoader = $this->getMockForAbstractClass(
49  \Magento\Framework\ObjectManager\ConfigLoaderInterface::class,
50  [],
51  '',
52  false
53  );
54  $configLoader->expects($this->any())->method('load')->willReturn([]);
56  $this->getMockForAbstractClass(\Magento\Framework\ObjectManagerInterface::class, [], '', false);
57  $objectManager->expects($this->any())
58  ->method('get')
59  ->will($this->returnValueMap([
60  [\Magento\Framework\App\State::class, $appState],
61  [\Magento\Framework\ObjectManager\ConfigLoaderInterface::class, $configLoader],
62  ]));
63 
64  $this->objectManagerProvider->expects($this->once())->method('get')->willReturn($objectManager);
65 
66  $this->jobDbRollback = new JobDbRollback(
67  $this->backupRollbackFactory,
68  $output,
69  $this->status,
70  $this->objectManagerProvider,
71  'setup:rollback',
72  ['backup_file_name' => 'someFileName']
73  );
74  }
75 
76  public function testExecute()
77  {
78  $this->backupRollbackFactory->expects($this->once())->method('create')->willReturn($this->backupRollback);
79  $this->backupRollback->expects($this->once())->method('dbRollback');
80  $this->jobDbRollback->execute();
81  }
82 
87  public function testExceptionOnExecute()
88  {
89  $this->backupRollbackFactory->expects($this->once())->method('create')->willThrowException(new \Exception);
90  $this->jobDbRollback->execute();
91  }
92 }
$objectManager
Definition: bootstrap.php:17