1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-03 17:59:37 +02:00

Add search index tests for nsfw flags

This commit is contained in:
Chocobozzz 2025-05-06 09:03:14 +02:00
parent 42ef506081
commit 1ee4d6f875
No known key found for this signature in database
GPG key ID: 583A612D890159BE

View file

@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import { expect } from 'chai'
import { import {
BooleanBothQuery, BooleanBothQuery,
NSFWFlag,
VideoChannelsSearchQuery, VideoChannelsSearchQuery,
VideoPlaylistPrivacy, VideoPlaylistPrivacy,
VideoPlaylistsSearchQuery, VideoPlaylistsSearchQuery,
@ -16,6 +16,7 @@ import {
SearchCommand, SearchCommand,
setAccessTokensToServers setAccessTokensToServers
} from '@peertube/peertube-server-commands' } from '@peertube/peertube-server-commands'
import { expect } from 'chai'
describe('Test index search', function () { describe('Test index search', function () {
const localVideoName = 'local video' + new Date().toISOString() const localVideoName = 'local video' + new Date().toISOString()
@ -36,7 +37,6 @@ describe('Test index search', function () {
}) })
describe('Default search', async function () { describe('Default search', async function () {
it('Should make a local videos search by default', async function () { it('Should make a local videos search by default', async function () {
await server.config.updateExistingConfig({ await server.config.updateExistingConfig({
newConfig: { newConfig: {
@ -88,7 +88,6 @@ describe('Test index search', function () {
}) })
describe('Videos search', async function () { describe('Videos search', async function () {
async function check (search: VideosSearchQuery, exists = true) { async function check (search: VideosSearchQuery, exists = true) {
const body = await command.advancedVideoSearch({ search }) const body = await command.advancedVideoSearch({ search })
@ -181,6 +180,29 @@ describe('Test index search', function () {
} }
}) })
it('Should search by nsfw flag', async function () {
const checkNSFW = async (search: VideosSearchQuery, exists = true) => {
const body = await command.advancedVideoSearch({ search: { search: 'NSFW', host: 'peertube2.cpy.re', ...search } })
const video = body.data.find(v => v.name === 'NSFW test')
if (exists === false) {
expect(video).to.not.exist
return
}
expect(video).to.exist
expect(video.nsfw).to.be.true
expect(video.nsfwFlags).to.equal(NSFWFlag.VIOLENT)
expect(video.nsfwSummary).to.equal('This video can be violent')
}
await checkNSFW({ nsfw: 'false', nsfwFlagsIncluded: NSFWFlag.VIOLENT }, true)
await checkNSFW({ nsfw: 'false', nsfwFlagsIncluded: NSFWFlag.VIOLENT | NSFWFlag.SHOCKING_DISTURBING }, true)
await checkNSFW({ nsfw: 'true', nsfwFlagsExcluded: NSFWFlag.VIOLENT }, false)
await checkNSFW({ nsfw: 'both', nsfwFlagsExcluded: NSFWFlag.VIOLENT | NSFWFlag.SHOCKING_DISTURBING }, false)
await checkNSFW({ nsfw: 'false', nsfwFlagsIncluded: NSFWFlag.SHOCKING_DISTURBING }, false)
})
it('Should search by host', async function () { it('Should search by host', async function () {
{ {
const search = { ...baseSearch, host: 'example.com' } const search = { ...baseSearch, host: 'example.com' }
@ -279,7 +301,6 @@ describe('Test index search', function () {
}) })
describe('Channels search', async function () { describe('Channels search', async function () {
async function check (search: VideoChannelsSearchQuery, exists = true) { async function check (search: VideoChannelsSearchQuery, exists = true) {
const body = await command.advancedChannelSearch({ search }) const body = await command.advancedChannelSearch({ search })
@ -335,7 +356,6 @@ describe('Test index search', function () {
}) })
describe('Playlists search', async function () { describe('Playlists search', async function () {
async function check (search: VideoPlaylistsSearchQuery, exists = true) { async function check (search: VideoPlaylistsSearchQuery, exists = true) {
const body = await command.advancedPlaylistSearch({ search }) const body = await command.advancedPlaylistSearch({ search })