getMockBuilder('PhpMyAdmin\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); //this data is needed when PhpMyAdmin\Server\Status\Data constructs $server_status = [ "Aborted_clients" => "0", "Aborted_connects" => "0", "Com_delete_multi" => "0", "Com_create_function" => "0", "Com_empty_query" => "0", ]; $server_variables = [ "auto_increment_increment" => "1", "auto_increment_offset" => "1", "automatic_sp_privileges" => "ON", "back_log" => "50", "big_tables" => "OFF", ]; $fetchResult = [ [ "SHOW GLOBAL STATUS", 0, 1, DatabaseInterface::CONNECT_USER, 0, $server_status ], [ "SHOW GLOBAL VARIABLES", 0, 1, DatabaseInterface::CONNECT_USER, 0, $server_variables ], [ "SELECT concat('Com_', variable_name), variable_value " . "FROM data_dictionary.GLOBAL_STATEMENTS", 0, 1, DatabaseInterface::CONNECT_USER, 0, $server_status ], ]; $dbi->expects($this->any())->method('fetchResult') ->will($this->returnValueMap($fetchResult)); $GLOBALS['dbi'] = $dbi; $this->serverStatusData = new Data(); } /** * Test for Advisor::getHtml * * @return void * @group medium */ public function testGetHtml() { //Call the test function $html = Advisor::getHtml(); //validate 1: Advisor Instructions $this->assertContains( '', $html ); $this->assertContains( '
assertContains( 'The Advisor system can provide recommendations', $html ); $this->assertContains( 'Do note however that this system provides recommendations', $html ); //Advisor datas, we just validate that the Advisor Array is right //Advisor logic related with OS should be validate on class Advisor $this->assertContains( '
', $html ); //Advisor data Json encode Items $this->assertContains( htmlspecialchars(json_encode("parse")), $html ); $this->assertContains( htmlspecialchars(json_encode("errors")), $html ); $this->assertContains( htmlspecialchars(json_encode("run")), $html ); } }