From d525fc399a14a8b16eaad6d4c0bc0a9c4093c3c9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 20 Jul 2018 14:35:18 +0200 Subject: Add videos list filters --- server/tests/utils/videos/videos.ts | 86 +++++++++++-------------------------- 1 file changed, 26 insertions(+), 60 deletions(-) (limited to 'server/tests/utils/videos/videos.ts') diff --git a/server/tests/utils/videos/videos.ts b/server/tests/utils/videos/videos.ts index a42d0f043..8c49eb02b 100644 --- a/server/tests/utils/videos/videos.ts +++ b/server/tests/utils/videos/videos.ts @@ -7,7 +7,7 @@ import { extname, join } from 'path' import * as request from 'supertest' import { buildAbsoluteFixturePath, - getMyUserInformation, + getMyUserInformation, immutableAssign, makeGetRequest, makePutBodyRequest, makeUploadRequest, @@ -133,13 +133,13 @@ function getVideosList (url: string) { .expect('Content-Type', /json/) } -function getVideosListWithToken (url: string, token: string) { +function getVideosListWithToken (url: string, token: string, query: { nsfw?: boolean } = {}) { const path = '/api/v1/videos' return request(url) .get(path) .set('Authorization', 'Bearer ' + token) - .query({ sort: 'name' }) + .query(immutableAssign(query, { sort: 'name' })) .set('Accept', 'application/json') .expect(200) .expect('Content-Type', /json/) @@ -172,17 +172,25 @@ function getMyVideos (url: string, accessToken: string, start: number, count: nu .expect('Content-Type', /json/) } -function getAccountVideos (url: string, accessToken: string, accountName: string, start: number, count: number, sort?: string) { +function getAccountVideos ( + url: string, + accessToken: string, + accountName: string, + start: number, + count: number, + sort?: string, + query: { nsfw?: boolean } = {} +) { const path = '/api/v1/accounts/' + accountName + '/videos' return makeGetRequest({ url, path, - query: { + query: immutableAssign(query, { start, count, sort - }, + }), token: accessToken, statusCodeExpected: 200 }) @@ -194,18 +202,19 @@ function getVideoChannelVideos ( videoChannelId: number | string, start: number, count: number, - sort?: string + sort?: string, + query: { nsfw?: boolean } = {} ) { const path = '/api/v1/video-channels/' + videoChannelId + '/videos' return makeGetRequest({ url, path, - query: { + query: immutableAssign(query, { start, count, sort - }, + }), token: accessToken, statusCodeExpected: 200 }) @@ -237,65 +246,25 @@ function getVideosListSort (url: string, sort: string) { .expect('Content-Type', /json/) } -function removeVideo (url: string, token: string, id: number | string, expectedStatus = 204) { +function getVideosWithFilters (url: string, query: { tagsAllOf: string[], categoryOneOf: number[] | number }) { const path = '/api/v1/videos' return request(url) - .delete(path + '/' + id) - .set('Accept', 'application/json') - .set('Authorization', 'Bearer ' + token) - .expect(expectedStatus) -} - -function searchVideo (url: string, search: string) { - const path = '/api/v1/search/videos' - const req = request(url) .get(path) - .query({ search }) + .query(query) .set('Accept', 'application/json') - - return req.expect(200) + .expect(200) .expect('Content-Type', /json/) } -function searchVideoWithToken (url: string, search: string, token: string) { +function removeVideo (url: string, token: string, id: number | string, expectedStatus = 204) { const path = '/api/v1/videos' - const req = request(url) - .get(path + '/search') - .set('Authorization', 'Bearer ' + token) - .query({ search }) - .set('Accept', 'application/json') - - return req.expect(200) - .expect('Content-Type', /json/) -} - -function searchVideoWithPagination (url: string, search: string, start: number, count: number, sort?: string) { - const path = '/api/v1/search/videos' - - const req = request(url) - .get(path) - .query({ start }) - .query({ search }) - .query({ count }) - - if (sort) req.query({ sort }) - - return req.set('Accept', 'application/json') - .expect(200) - .expect('Content-Type', /json/) -} - -function searchVideoWithSort (url: string, search: string, sort: string) { - const path = '/api/v1/search/videos' return request(url) - .get(path) - .query({ search }) - .query({ sort }) + .delete(path + '/' + id) .set('Accept', 'application/json') - .expect(200) - .expect('Content-Type', /json/) + .set('Authorization', 'Bearer ' + token) + .expect(expectedStatus) } async function checkVideoFilesWereRemoved (videoUUID: string, serverNumber: number) { @@ -581,18 +550,15 @@ export { getMyVideos, getAccountVideos, getVideoChannelVideos, - searchVideoWithToken, getVideo, getVideoWithToken, getVideosList, getVideosListPagination, getVideosListSort, removeVideo, - searchVideo, - searchVideoWithPagination, - searchVideoWithSort, getVideosListWithToken, uploadVideo, + getVideosWithFilters, updateVideo, rateVideo, viewVideo, -- cgit v1.2.3