19 private $objectManager;
24 private $objectManagerMock;
34 private $rollbackController;
44 private $responseMock;
49 private $backupModelFactoryMock;
54 private $backupModelMock;
59 private $dataHelperMock;
64 private $fileFactoryMock;
69 private $resultRedirectFactoryMock;
74 private $resultRedirectMock;
79 private $resultForwardMock;
84 private $backupFactoryMock;
89 private $backupManagerMock;
94 private $backupResourceModelMock;
98 $this->objectManagerMock = $this->getMockBuilder(\
Magento\Framework\ObjectManagerInterface::class)
100 $this->requestMock = $this->getMockBuilder(\
Magento\Framework\
App\RequestInterface::class)
101 ->setMethods([
'initForward',
'setDispatched',
'isAjax'])
102 ->getMockForAbstractClass();
103 $this->responseMock = $this->getMockBuilder(\
Magento\Framework\
App\ResponseInterface::class)
104 ->setMethods([
'setRedirect',
'representJson'])
105 ->getMockForAbstractClass();
106 $this->backupModelFactoryMock = $this->getMockBuilder(\
Magento\Backup\Model\BackupFactory::class)
107 ->disableOriginalConstructor()
108 ->setMethods([
'create'])
110 $this->backupModelMock = $this->getMockBuilder(\
Magento\Backup\Model\Backup::class)
111 ->disableOriginalConstructor()
112 ->setMethods([
'getTime',
'exists',
'getSize',
'output',
'validateUserPassword'])
114 $this->backupResourceModelMock = $this->getMockBuilder(\
Magento\Backup\Model\
ResourceModel\Db::class)
115 ->disableOriginalConstructor()
117 $this->dataHelperMock = $this->getMockBuilder(\
Magento\Backup\Helper\Data::class)
118 ->disableOriginalConstructor()
119 ->setMethods([
'isRollbackAllowed',
'getBackupsDir',
'invalidateCache'])
121 $this->fileFactoryMock = $this->getMockBuilder(\
Magento\Framework\
App\
Response\Http\FileFactory::class)
122 ->disableOriginalConstructor()
124 $this->resultRedirectFactoryMock =
125 $this->getMockBuilder(\
Magento\Backend\Model\View\Result\RedirectFactory::class)
126 ->disableOriginalConstructor()
127 ->setMethods([
'create'])
129 $this->resultRedirectMock = $this->getMockBuilder(\
Magento\Backend\Model\View\Result\Redirect::class)
130 ->disableOriginalConstructor()
132 $this->resultForwardMock = $this->getMockBuilder(\
Magento\Backend\Model\View\Result\Forward::class)
133 ->disableOriginalConstructor()
135 $this->backupFactoryMock = $this->getMockBuilder(\
Magento\Framework\Backup\Factory::class)
136 ->disableOriginalConstructor()
137 ->setMethods([
'create'])
139 $this->backupManagerMock = $this->getMockBuilder(\
Magento\Framework\Backup\BackupInterface::class)
140 ->setMethods([
'setName'])
141 ->getMockForAbstractClass();
143 $this->context = $this->objectManager->getObject(
146 'objectManager' => $this->objectManagerMock,
147 'request' => $this->requestMock,
148 'response' => $this->responseMock,
149 'resultRedirectFactory' => $this->resultRedirectFactoryMock,
152 $this->rollbackController = $this->objectManager->getObject(
153 \
Magento\Backup\Controller\Adminhtml\Index\Rollback::class,
155 'context' => $this->context,
156 'backupFactory' => $this->backupFactoryMock,
157 'backupModelFactory' => $this->backupModelFactoryMock,
158 'fileFactory' => $this->fileFactoryMock,
165 $rollbackAllowed =
false;
167 $this->dataHelperMock->expects($this->once())
168 ->method(
'isRollbackAllowed')
169 ->willReturn($rollbackAllowed);
170 $this->objectManagerMock->expects($this->once())
172 ->with(\
Magento\Backup\Helper\Data::class)
173 ->willReturn($this->dataHelperMock);
175 $this->assertSame($this->responseMock, $this->rollbackController->execute());
180 $rollbackAllowed =
true;
186 $this->dataHelperMock->expects($this->once())
187 ->method(
'isRollbackAllowed')
188 ->willReturn($rollbackAllowed);
189 $this->objectManagerMock->expects($this->atLeastOnce())
191 ->with(\
Magento\Backup\Helper\Data::class)
192 ->willReturn($this->dataHelperMock);
193 $this->requestMock->expects($this->once())
195 ->willReturn($isAjax);
196 $this->backupModelMock->expects($this->atLeastOnce())
199 $this->backupModelMock->expects($this->any())
201 ->willReturn($exists);
202 $this->requestMock->expects($this->any())
206 [
'time',
null, $time],
207 [
'type',
null,
$type],
210 $this->backupModelFactoryMock->expects($this->once())
213 ->willReturn($this->backupModelMock);
215 $this->assertSame($this->responseMock, $this->rollbackController->execute());
220 $rollbackAllowed =
true;
225 $passwordValid =
true;
227 $this->dataHelperMock->expects($this->once())
228 ->method(
'isRollbackAllowed')
229 ->willReturn($rollbackAllowed);
230 $this->objectManagerMock->expects($this->any())
232 ->with(\
Magento\Backup\Helper\Data::class)
233 ->willReturn($this->dataHelperMock);
234 $this->requestMock->expects($this->once())
236 ->willReturn($isAjax);
237 $this->backupModelMock->expects($this->atLeastOnce())
240 $this->backupModelMock->expects($this->any())
242 ->willReturn($exists);
243 $this->requestMock->expects($this->any())
247 [
'time',
null, $time],
248 [
'type',
null,
$type],
251 $this->backupModelFactoryMock->expects($this->once())
254 ->willReturn($this->backupModelMock);
255 $this->backupManagerMock->expects($this->once())
256 ->method(
'setBackupExtension')
257 ->willReturn($this->backupManagerMock);
258 $this->backupManagerMock->expects($this->once())
260 ->willReturn($this->backupManagerMock);
261 $this->backupManagerMock->expects($this->once())
262 ->method(
'setBackupsDir')
263 ->willReturn($this->backupManagerMock);
264 $this->backupManagerMock->expects($this->once())
266 ->willReturn($this->backupManagerMock);
267 $this->backupManagerMock->expects($this->once())
268 ->method(
'setResourceModel')
269 ->willReturn($this->backupManagerMock);
270 $this->backupFactoryMock->expects($this->once())
273 ->willReturn($this->backupManagerMock);
274 $this->objectManagerMock->expects($this->at(2))
277 ->willReturn($this->backupResourceModelMock);
278 $this->objectManagerMock->expects($this->at(3))
280 ->with(\
Magento\Backup\Model\Backup::class, [])
281 ->willReturn($this->backupModelMock);
282 $this->backupModelMock->expects($this->once())
283 ->method(
'validateUserPassword')
284 ->willReturn($passwordValid);
286 $this->rollbackController->execute();
testExecuteBackupNotFound()
testExecuteRollbackDisabled()