data = new Data(); $this->data->status['Uptime'] = 36000; $this->data->usedQueries = [ 'Com_change_db' => '15', 'Com_select' => '12', 'Com_set_option' => '54', 'Com_show_databases' => '16', 'Com_show_status' => '14', 'Com_show_tables' => '13', ]; } public function testIndex(): void { global $dbi; $response = new ResponseRenderer(); $controller = new QueriesController($response, new Template(), $this->data, $dbi); $this->dummyDbi->addSelectDb('mysql'); $controller(); $this->assertAllSelectsConsumed(); $html = $response->getHTMLResult(); $hourFactor = 3600 / $this->data->status['Uptime']; $usedQueries = $this->data->usedQueries; $totalQueries = array_sum($usedQueries); $questionsFromStart = __('Questions since startup:') . ' ' . Util::formatNumber($totalQueries, 0); $this->assertStringContainsString( '

', $html ); $this->assertStringContainsString( $questionsFromStart, $html ); $this->assertStringContainsString( __('per hour:'), $html ); $this->assertStringContainsString( Util::formatNumber($totalQueries * $hourFactor, 0), $html ); $valuePerMinute = Util::formatNumber( $totalQueries * 60 / $this->data->status['Uptime'], 0 ); $this->assertStringContainsString( __('per minute:'), $html ); $this->assertStringContainsString( htmlspecialchars($valuePerMinute), $html ); $this->assertStringContainsString( __('Statements'), $html ); $this->assertStringContainsString( htmlspecialchars('change db'), $html ); $this->assertStringContainsString( '54', $html ); $this->assertStringContainsString( htmlspecialchars('select'), $html ); $this->assertStringContainsString( htmlspecialchars('set option'), $html ); $this->assertStringContainsString( htmlspecialchars('show databases'), $html ); $this->assertStringContainsString( htmlspecialchars('show status'), $html ); $this->assertStringContainsString( htmlspecialchars('show tables'), $html ); $this->assertStringContainsString( '