[autocomplete] more tests
This commit is contained in:
parent
f0457b4f94
commit
37ceebdabd
2 changed files with 30 additions and 2 deletions
|
@ -56,7 +56,6 @@ class AutoComplete extends Extension
|
|||
if ($limit !== 0) {
|
||||
$limitSQL = "LIMIT :limit";
|
||||
$SQLarr['limit'] = $limit;
|
||||
$cache_key .= "-" . $limit;
|
||||
}
|
||||
|
||||
return cache_get_or_set($cache_key, fn () => $database->get_pairs(
|
||||
|
@ -70,7 +69,7 @@ class AutoComplete extends Extension
|
|||
AND count > 0
|
||||
ORDER BY count DESC, tag ASC
|
||||
$limitSQL
|
||||
",
|
||||
",
|
||||
$SQLarr
|
||||
), 600);
|
||||
}
|
||||
|
|
|
@ -8,10 +8,39 @@ class AutoCompleteTest extends ShimmiePHPUnitTestCase
|
|||
{
|
||||
public function testAuth(): void
|
||||
{
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("tests/pbx_screenshot.jpg", "some_tag");
|
||||
|
||||
send_event(new UserLoginEvent(User::by_name(self::$anon_name)));
|
||||
$page = $this->get_page('api/internal/autocomplete', ["s" => "not-a-tag"]);
|
||||
$this->assertEquals(200, $page->code);
|
||||
$this->assertEquals(PageMode::DATA, $page->mode);
|
||||
$this->assertEquals("[]", $page->data);
|
||||
|
||||
$page = $this->get_page('api/internal/autocomplete', ["s" => "so"]);
|
||||
$this->assertEquals(200, $page->code);
|
||||
$this->assertEquals(PageMode::DATA, $page->mode);
|
||||
$this->assertEquals('{"some_tag":1}', $page->data);
|
||||
}
|
||||
|
||||
public function testCategories(): void
|
||||
{
|
||||
$this->log_in_as_user();
|
||||
$image_id = $this->post_image("tests/pbx_screenshot.jpg", "artist:bob");
|
||||
|
||||
$page = $this->get_page('api/internal/autocomplete', ["s" => "bob"]);
|
||||
$this->assertEquals(200, $page->code);
|
||||
$this->assertEquals(PageMode::DATA, $page->mode);
|
||||
$this->assertEquals('{"artist:bob":1}', $page->data);
|
||||
|
||||
$page = $this->get_page('api/internal/autocomplete', ["s" => "art"]);
|
||||
$this->assertEquals(200, $page->code);
|
||||
$this->assertEquals(PageMode::DATA, $page->mode);
|
||||
$this->assertEquals('{"artist:bob":1}', $page->data);
|
||||
|
||||
$page = $this->get_page('api/internal/autocomplete', ["s" => "artist:"]);
|
||||
$this->assertEquals(200, $page->code);
|
||||
$this->assertEquals(PageMode::DATA, $page->mode);
|
||||
$this->assertEquals('{"artist:bob":1}', $page->data);
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue