gridModuleMock = $this->getMockBuilder(Module::class) ->disableOriginalConstructor() ->getMock(); $this->controller = new ModuleGrid( $this->gridModuleMock ); } public function testIndexAction() { $viewModel = $this->controller->indexAction(); $this->assertInstanceOf(\Zend\View\Model\ViewModel::class, $viewModel); $this->assertTrue($viewModel->terminate()); } public function testModulesAction() { $moduleList = [ [ 'name' => 'magento/sample-module-one', 'type' => 'Module', 'version' => '1.0.0', 'vendor' => 'magento', 'moduleName' => 'Sample_Module_One', 'enable' => true, 'requiredBy' => [] ], [ 'name' => 'magento/sample-module-two', 'type' => 'Module', 'version' => '1.0.0', 'vendor' => 'magento', 'moduleName' => 'Sample_Module_Two', 'enable' => true, 'requiredBy' => [] ] ]; $this->gridModuleMock->expects(static::once()) ->method('getList') ->willReturn($moduleList); $jsonModel = $this->controller->modulesAction(); $this->assertInstanceOf(\Zend\View\Model\JsonModel::class, $jsonModel); $variables = $jsonModel->getVariables(); $this->assertArrayHasKey('success', $variables); $this->assertTrue($variables['success']); $this->assertEquals($moduleList, $variables['modules']); $this->assertArrayHasKey('total', $variables); $this->assertEquals(2, $variables['total']); } }