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); self::assertStringContainsString('

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