enableBc(); $GLOBALS['server'] = 1; $GLOBALS['db'] = 'db'; $GLOBALS['table'] = 'table'; $GLOBALS['PMA_PHP_SELF'] = 'index.php'; $GLOBALS['cfg']['Server']['DisableIS'] = false; } /** * Test for index method * * @return void */ public function testIndex() { /** * Prepare plugin list */ $row = [ 'PLUGIN_NAME' => 'plugin_name1', 'PLUGIN_TYPE' => 'plugin_type1', 'PLUGIN_VERSION' => 'plugin_version1', 'PLUGIN_AUTHOR' => 'plugin_author1', 'PLUGIN_LICENSE' => 'plugin_license1', 'PLUGIN_DESCRIPTION' => 'plugin_description1', 'PLUGIN_STATUS' => 'ACTIVE', ]; $dbi = $this->getMockBuilder(DatabaseInterface::class) ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->once()) ->method('query') ->will($this->returnValue(true)); $dbi->expects($this->at(1)) ->method('fetchAssoc') ->will($this->returnValue($row)); $dbi->expects($this->at(2)) ->method('fetchAssoc') ->will($this->returnValue(false)); $dbi->expects($this->once()) ->method('freeResult') ->will($this->returnValue(true)); $controller = new PluginsController( Response::getInstance(), $dbi, new Template(), new Plugins($dbi) ); $actual = $controller->index(); //validate 1:Items $this->assertStringContainsString( 'Plugin', $actual ); $this->assertStringContainsString( 'Description', $actual ); $this->assertStringContainsString( 'Version', $actual ); $this->assertStringContainsString( 'Author', $actual ); $this->assertStringContainsString( 'License', $actual ); //validate 2: one Item HTML $this->assertStringContainsString( 'plugin_name1', $actual ); $this->assertStringContainsString( 'plugin_description1', $actual ); $this->assertStringContainsString( 'plugin_version1', $actual ); $this->assertStringContainsString( 'plugin_author1', $actual ); $this->assertStringContainsString( 'plugin_license1', $actual ); } }