createDatabaseInterface(); DatabaseInterface::$instance = $dbi; $GLOBALS['server'] = 1; $GLOBALS['db'] = 'PMA_db'; $GLOBALS['table'] = 'PMA_table'; $GLOBALS['lang'] = 'en'; $GLOBALS['text_dir'] = 'ltr'; $config = Config::getInstance(); $config->selectedServer['DisableIS'] = true; $config->selectedServer['tracking_default_statements'] = 'DELETE'; $relationParameters = RelationParameters::fromArray([ 'db' => 'pmadb', 'tracking' => 'tracking', 'trackingwork' => true, ]); (new ReflectionProperty(Relation::class, 'cache'))->setValue(null, $relationParameters); $template = new Template(); $relation = new Relation($dbi); $bookmarkRepository = new BookmarkRepository($dbi, $relation); $this->tracking = new Tracking( new SqlQueryForm($template, $dbi, $bookmarkRepository), $template, $relation, $dbi, $this->createStub(TrackingChecker::class), ); } /** * Tests for filter() method. */ public function testFilter(): void { $data = [ ['date' => '2012-01-01 12:34:56', 'username' => 'username1', 'statement' => 'statement1'], ['date' => '2013-01-01 12:34:56', 'username' => 'username2', 'statement' => 'statement2'], ]; $filterUsers = ['username1']; $ret = $this->tracking->filter( $data, $filterUsers, new DateTimeImmutable('2010-01-01 12:34:56'), new DateTimeImmutable('2020-01-01 12:34:56'), ); $this->assertEquals('username1', $ret[0]['username']); $this->assertEquals('statement1', $ret[0]['statement']); } public function testGetHtmlForMain(): void { $html = $this->tracking->getHtmlForMainPage('PMA_db', 'PMA_table', [], 'ltr'); $this->assertStringContainsString('PMA_db.PMA_table', $html); $this->assertStringContainsString('date_created', $html); $this->assertStringContainsString(__('Delete version'), $html); $this->assertStringContainsString('
', $html); $this->assertStringContainsString('
', $html); $this->assertStringContainsString('
', $html); $this->assertStringContainsString('