'']; } protected function tearDown(): void { $_GET = []; } public function testHandleSearchReturnsCoverMapKey(): void { $db = TestDatabase::getInstance(); $rateLimit = new RateLimit(1000, 60, sys_get_temp_dir() . '/xamxam_rl_test_' . uniqid()); $searchCtrl = new SearchController($db, $rateLimit); $vars = $searchCtrl->handleSearch(); $this->assertArrayHasKey('coverMap', $vars); $this->assertIsArray($vars['coverMap']); } public function testCoverMapContainsKnownThesis(): void { $pdo = TestDatabase::getPDO(); $thesisId = $pdo->query('SELECT id FROM theses LIMIT 1')->fetchColumn(); $db = TestDatabase::getInstance(); $rateLimit = new RateLimit(1000, 60, sys_get_temp_dir() . '/xamxam_rl_test2_' . uniqid()); $searchCtrl = new SearchController($db, $rateLimit); $vars = $searchCtrl->handleSearch(); if (!empty($vars['results'])) { $this->assertArrayHasKey((int)$thesisId, $vars['coverMap']); } } }