9 use \Magento\Setup\Controller\Maintenance;
10 use \Magento\Setup\Controller\ResponseTypeInterface;
18 private $maintenanceMode;
29 $this->maintenanceMode = $this->createMock(\
Magento\Framework\
App\MaintenanceMode::class);
30 $this->controller =
new Maintenance($this->maintenanceMode);
32 $request = $this->createMock(\
Zend\Http\PhpEnvironment\Request::class);
33 $response = $this->createMock(\
Zend\Http\PhpEnvironment\Response::class);
34 $routeMatch = $this->createMock(\
Zend\Mvc\Router\RouteMatch::class);
36 $mvcEvent = $this->createMock(\
Zend\Mvc\MvcEvent::class);
37 $mvcEvent->expects($this->any())->method(
'setRequest')->with(
$request)->willReturn($mvcEvent);
38 $mvcEvent->expects($this->any())->method(
'setResponse')->with(
$response)->willReturn($mvcEvent);
39 $mvcEvent->expects($this->any())->method(
'setTarget')->with($this->controller)->willReturn($mvcEvent);
40 $mvcEvent->expects($this->any())->method(
'getRouteMatch')->willReturn($routeMatch);
41 $contentArray =
'{"disable":false}';
42 $request->expects($this->any())->method(
'getContent')->willReturn($contentArray);
44 $this->controller->setEvent($mvcEvent);
50 $this->maintenanceMode->expects($this->once())->method(
'set');
51 $jsonModel = $this->controller->indexAction();
52 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
53 $variables = $jsonModel->getVariables();
54 $this->assertArrayHasKey(
'responseType', $variables);
60 $this->maintenanceMode->expects($this->once())->method(
'set')->will(
61 $this->throwException(
new \
Exception(
"Test error message"))
63 $jsonModel = $this->controller->indexAction();
64 $this->assertInstanceOf(\
Zend\View\Model\JsonModel::class, $jsonModel);
65 $variables = $jsonModel->getVariables();
66 $this->assertArrayHasKey(
'responseType', $variables);
68 $this->assertArrayHasKey(
'error', $variables);
69 $this->assertEquals(
"Test error message", $variables[
'error']);
const RESPONSE_TYPE_SUCCESS
testIndexActionWithExceptions()
const RESPONSE_TYPE_ERROR