From 37a44fc915eef2140e22ceb96aba6b6eb2509007 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 17 Jun 2021 16:02:38 +0200 Subject: Add ability to search playlists --- server/tests/api/search/search-index.ts | 62 ++++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 5 deletions(-) (limited to 'server/tests/api/search/search-index.ts') diff --git a/server/tests/api/search/search-index.ts b/server/tests/api/search/search-index.ts index 849a8a893..00f79232a 100644 --- a/server/tests/api/search/search-index.ts +++ b/server/tests/api/search/search-index.ts @@ -2,19 +2,21 @@ import 'mocha' import * as chai from 'chai' +import { advancedVideoChannelSearch, searchVideoChannel } from '@shared/extra-utils/search/video-channels' +import { Video, VideoChannel, VideoPlaylist, VideoPlaylistPrivacy, VideoPlaylistType, VideosSearchQuery } from '@shared/models' import { + advancedVideoPlaylistSearch, + advancedVideosSearch, cleanupTests, flushAndRunServer, + immutableAssign, searchVideo, + searchVideoPlaylists, ServerInfo, setAccessTokensToServers, updateCustomSubConfig, - uploadVideo, - advancedVideosSearch, - immutableAssign + uploadVideo } from '../../../../shared/extra-utils' -import { searchVideoChannel, advancedVideoChannelSearch } from '@shared/extra-utils/search/video-channels' -import { VideosSearchQuery, Video, VideoChannel } from '@shared/models' const expect = chai.expect @@ -277,6 +279,56 @@ describe('Test videos search', function () { }) }) + describe('Playlists search', async function () { + + it('Should make a simple search and not have results', async function () { + const res = await searchVideoPlaylists(server.url, 'a'.repeat(500)) + + expect(res.body.total).to.equal(0) + expect(res.body.data).to.have.lengthOf(0) + }) + + it('Should make a search and have results', async function () { + const res = await advancedVideoPlaylistSearch(server.url, { search: 'E2E playlist', sort: '-match' }) + + expect(res.body.total).to.be.greaterThan(0) + expect(res.body.data).to.have.length.greaterThan(0) + + const videoPlaylist: VideoPlaylist = res.body.data[0] + + expect(videoPlaylist.url).to.equal('https://peertube2.cpy.re/videos/watch/playlist/73804a40-da9a-40c2-b1eb-2c6d9eec8f0a') + expect(videoPlaylist.thumbnailUrl).to.exist + expect(videoPlaylist.embedUrl).to.equal('https://peertube2.cpy.re/video-playlists/embed/73804a40-da9a-40c2-b1eb-2c6d9eec8f0a') + + expect(videoPlaylist.type.id).to.equal(VideoPlaylistType.REGULAR) + expect(videoPlaylist.privacy.id).to.equal(VideoPlaylistPrivacy.PUBLIC) + expect(videoPlaylist.videosLength).to.exist + + expect(videoPlaylist.createdAt).to.exist + expect(videoPlaylist.updatedAt).to.exist + + expect(videoPlaylist.uuid).to.equal('73804a40-da9a-40c2-b1eb-2c6d9eec8f0a') + expect(videoPlaylist.displayName).to.exist + + expect(videoPlaylist.ownerAccount.url).to.equal('https://peertube2.cpy.re/accounts/chocobozzz') + expect(videoPlaylist.ownerAccount.name).to.equal('chocobozzz') + expect(videoPlaylist.ownerAccount.host).to.equal('peertube2.cpy.re') + expect(videoPlaylist.ownerAccount.avatar).to.exist + + expect(videoPlaylist.videoChannel.url).to.equal('https://peertube2.cpy.re/video-channels/chocobozzz_channel') + expect(videoPlaylist.videoChannel.name).to.equal('chocobozzz_channel') + expect(videoPlaylist.videoChannel.host).to.equal('peertube2.cpy.re') + expect(videoPlaylist.videoChannel.avatar).to.exist + }) + + it('Should have a correct pagination', async function () { + const res = await advancedVideoChannelSearch(server.url, { search: 'root', start: 0, count: 2 }) + + expect(res.body.total).to.be.greaterThan(2) + expect(res.body.data).to.have.lengthOf(2) + }) + }) + after(async function () { await cleanupTests([ server ]) }) -- cgit v1.2.3