Add overviews filter hook tests

This commit is contained in:
Chocobozzz 2021-07-21 16:13:20 +02:00
parent 64f9b91de9
commit d1aed10353
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 18 additions and 7 deletions

View File

@ -109,7 +109,7 @@ async function getVideos (
res: express.Response, res: express.Response,
where: { videoChannelId?: number, tagsOneOf?: string[], categoryOneOf?: number[] } where: { videoChannelId?: number, tagsOneOf?: string[], categoryOneOf?: number[] }
) { ) {
let query = Object.assign({ const query = await Hooks.wrapObject({
start: 0, start: 0,
count: 12, count: 12,
sort: '-createdAt', sort: '-createdAt',
@ -117,10 +117,10 @@ async function getVideos (
nsfw: buildNSFWFilter(res), nsfw: buildNSFWFilter(res),
user: res.locals.oauth ? res.locals.oauth.token.User : undefined, user: res.locals.oauth ? res.locals.oauth.token.User : undefined,
withFiles: false, withFiles: false,
countVideos: false countVideos: false,
}, where)
query = await Hooks.wrapObject(query, 'filter:api.overviews.videos.list.params') ...where
}, 'filter:api.overviews.videos.list.params')
const { data } = await Hooks.wrapPromiseFun( const { data } = await Hooks.wrapPromiseFun(
VideoModel.listForApi, VideoModel.listForApi,

View File

@ -234,7 +234,7 @@ async function register ({ registerHook, registerSetting, settingsManager, stora
}) })
{ {
const searchHooks = [ const filterHooks = [
'filter:api.search.videos.local.list.params', 'filter:api.search.videos.local.list.params',
'filter:api.search.videos.local.list.result', 'filter:api.search.videos.local.list.result',
'filter:api.search.videos.index.list.params', 'filter:api.search.videos.index.list.params',
@ -246,10 +246,13 @@ async function register ({ registerHook, registerSetting, settingsManager, stora
'filter:api.search.video-playlists.local.list.params', 'filter:api.search.video-playlists.local.list.params',
'filter:api.search.video-playlists.local.list.result', 'filter:api.search.video-playlists.local.list.result',
'filter:api.search.video-playlists.index.list.params', 'filter:api.search.video-playlists.index.list.params',
'filter:api.search.video-playlists.index.list.result' 'filter:api.search.video-playlists.index.list.result',
'filter:api.overviews.videos.list.params',
'filter:api.overviews.videos.list.result'
] ]
for (const h of searchHooks) { for (const h of filterHooks) {
registerHook({ registerHook({
target: h, target: h,
handler: (obj) => { handler: (obj) => {

View File

@ -255,6 +255,14 @@ describe('Test plugin filter hooks', function () {
expect(thread.comment.text.endsWith(' <3')).to.be.true expect(thread.comment.text.endsWith(' <3')).to.be.true
}) })
it('Should run filter:api.overviews.videos.list.{params,result}', async function () {
await servers[0].overviews.getVideos({ page: 1 })
// 3 because we get 3 samples per page
await servers[0].servers.waitUntilLog('Run hook filter:api.overviews.videos.list.params', 3)
await servers[0].servers.waitUntilLog('Run hook filter:api.overviews.videos.list.result', 3)
})
describe('Should run filter:video.auto-blacklist.result', function () { describe('Should run filter:video.auto-blacklist.result', function () {
async function checkIsBlacklisted (id: number | string, value: boolean) { async function checkIsBlacklisted (id: number | string, value: boolean) {