Enhanced the LibraryTest.filterByQuery unit-test

This commit is contained in:
Veloman Yunkan 2021-04-10 23:56:43 +04:00
parent 8c18a37961
commit 8c810d2d2f
1 changed files with 40 additions and 1 deletions

View File

@ -311,14 +311,45 @@ TEST_F(LibraryTest, filterByTags)
TEST_F(LibraryTest, filterByQuery)
{
auto bookIds = lib.filter(kiwix::Filter().query("folklore"));
// filtering by query checks the title
auto bookIds = lib.filter(kiwix::Filter().query("Exchange"));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
"Islam Stack Exchange",
"Movies & TV Stack Exchange",
"Mythology & Folklore Stack Exchange"
})
);
// filtering by query checks the description/summary
bookIds = lib.filter(kiwix::Filter().query("enthusiasts"));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
"Movies & TV Stack Exchange",
"Mythology & Folklore Stack Exchange"
})
);
// filtering by query is case insensitive on titles
bookIds = lib.filter(kiwix::Filter().query("ExcHANge"));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
"Islam Stack Exchange",
"Movies & TV Stack Exchange",
"Mythology & Folklore Stack Exchange"
})
);
// filtering by query is case insensitive on description/summary
bookIds = lib.filter(kiwix::Filter().query("enTHUSiaSTS"));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
"Movies & TV Stack Exchange",
"Mythology & Folklore Stack Exchange"
})
);
// by default, filtering by query assumes partial query
bookIds = lib.filter(kiwix::Filter().query("Wiki"));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
@ -328,6 +359,14 @@ TEST_F(LibraryTest, filterByQuery)
"Wikiquote"
})
);
// partial query can be disabled
bookIds = lib.filter(kiwix::Filter().query("Wiki", false));
EXPECT_EQ(ids2Titles(bookIds),
TitleCollection({
"Granblue Fantasy Wiki"
})
);
}