9 use \Magento\Setup\Controller\BackupActionItems;
10 use \Magento\Setup\Controller\ResponseTypeInterface;
20 private $objectManagerProvider;
30 private $backupRollback;
35 private $directoryList;
51 $this->directoryList =
52 $this->createMock(\
Magento\Framework\
App\Filesystem\DirectoryList::class);
53 $this->objectManagerProvider =
54 $this->createMock(\
Magento\Setup\Model\ObjectManagerProvider::class);
55 $this->backupRollback =
56 $this->createPartialMock(\
Magento\Framework\Setup\BackupRollback::class, [
'getDBDiskSpace',
'dbBackup']);
58 $objectManager->expects($this->once())->method(
'create')->willReturn($this->backupRollback);
59 $this->objectManagerProvider->expects($this->once())->method(
'get')->willReturn(
$objectManager);
60 $this->log = $this->createMock(\
Magento\Setup\Model\WebLogger::class);
61 $this->filesystem = $this->createMock(\
Magento\Framework\Backup\Filesystem::class);
64 $this->objectManagerProvider,
70 $request = $this->createMock(\
Zend\Http\PhpEnvironment\Request::class);
71 $response = $this->createMock(\
Zend\Http\PhpEnvironment\Response::class);
72 $routeMatch = $this->createMock(\
Zend\Mvc\Router\RouteMatch::class);
74 $mvcEvent = $this->createMock(\
Zend\Mvc\MvcEvent::class);
75 $mvcEvent->expects($this->any())->method(
'setRequest')->with(
$request)->willReturn($mvcEvent);
76 $mvcEvent->expects($this->any())->method(
'setResponse')->with(
$response)->willReturn($mvcEvent);
77 $mvcEvent->expects($this->any())->method(
'setTarget')->with($this->controller)->willReturn($mvcEvent);
78 $mvcEvent->expects($this->any())->method(
'getRouteMatch')->willReturn($routeMatch);
79 $contentArray =
'{"options":{"code":false,"media":false,"db":true}}';
80 $request->expects($this->any())->method(
'getContent')->willReturn($contentArray);
82 $this->controller->setEvent($mvcEvent);
88 $this->backupRollback->expects($this->once())->method(
'getDBDiskSpace')->willReturn(500);
89 $this->directoryList->expects($this->once())->method(
'getPath')->willReturn(
__DIR__);
90 $this->filesystem->expects($this->once())->method(
'validateAvailableDiscSpace');
91 $jsonModel = $this->controller->checkAction();
92 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
93 $variables = $jsonModel->getVariables();
94 $this->assertArrayHasKey(
'responseType', $variables);
96 $this->assertArrayHasKey(
'size', $variables);
97 $this->assertEquals(
true, $variables[
'size']);
102 $this->directoryList->expects($this->once())->method(
'getPath')->willReturn(
__DIR__);
103 $this->filesystem->expects($this->once())->method(
'validateAvailableDiscSpace')->will(
104 $this->throwException(
new \
Exception(
"Test error message"))
106 $jsonModel = $this->controller->checkAction();
107 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
108 $variables = $jsonModel->getVariables();
109 $this->assertArrayHasKey(
'responseType', $variables);
111 $this->assertArrayHasKey(
'error', $variables);
112 $this->assertEquals(
"Test error message", $variables[
'error']);
117 $this->backupRollback->expects($this->once())->method(
'dbBackup')->willReturn(
'backup/path/');
118 $jsonModel = $this->controller->createAction();
119 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
120 $variables = $jsonModel->getVariables();
121 $this->assertArrayHasKey(
'responseType', $variables);
123 $this->assertArrayHasKey(
'files', $variables);
124 $this->assertEquals([
'backup/path/'], $variables[
'files']);
129 $model = $this->controller->indexAction();
130 $this->assertInstanceOf(\
Zend\View\Model\ViewModel::class,
$model);
defined('TESTS_BP')||define('TESTS_BP' __DIR__
testCheckActionWithError()
const RESPONSE_TYPE_SUCCESS
const RESPONSE_TYPE_ERROR