From 91b6631984fa7097bd60aa013d1cf041d7b95f58 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 29 May 2019 15:09:38 +0200 Subject: Add pagination to account video channels endpoint --- server/tests/api/check-params/video-channels.ts | 24 +++++++++- server/tests/api/videos/video-channels.ts | 64 +++++++++++++++++++++++-- 2 files changed, 84 insertions(+), 4 deletions(-) (limited to 'server/tests') diff --git a/server/tests/api/check-params/video-channels.ts b/server/tests/api/check-params/video-channels.ts index 65bc20613..ff04f6b03 100644 --- a/server/tests/api/check-params/video-channels.ts +++ b/server/tests/api/check-params/video-channels.ts @@ -67,8 +67,30 @@ describe('Test video channels API validator', function () { }) describe('When listing account video channels', function () { + const accountChannelPath = '/api/v1/accounts/fake/video-channels' + + it('Should fail with a bad start pagination', async function () { + await checkBadStartPagination(server.url, accountChannelPath, server.accessToken) + }) + + it('Should fail with a bad count pagination', async function () { + await checkBadCountPagination(server.url, accountChannelPath, server.accessToken) + }) + + it('Should fail with an incorrect sort', async function () { + await checkBadSortPagination(server.url, accountChannelPath, server.accessToken) + }) + it('Should fail with a unknown account', async function () { - await getAccountVideoChannelsList(server.url, 'unknown', 404) + await getAccountVideoChannelsList({ url: server.url, accountName: 'unknown', specialStatus: 404 }) + }) + + it('Should succeed with the correct parameters', async function () { + await makeGetRequest({ + url: server.url, + path: accountChannelPath, + statusCodeExpected: 200 + }) }) }) diff --git a/server/tests/api/videos/video-channels.ts b/server/tests/api/videos/video-channels.ts index 41fe3be5c..e98f14ea8 100644 --- a/server/tests/api/videos/video-channels.ts +++ b/server/tests/api/videos/video-channels.ts @@ -2,7 +2,7 @@ import * as chai from 'chai' import 'mocha' -import { User, Video } from '../../../../shared/index' +import { User, Video, VideoChannel } from '../../../../shared/index' import { cleanupTests, createUser, @@ -108,7 +108,11 @@ describe('Test video channels', function () { }) it('Should have two video channels when getting account channels on server 1', async function () { - const res = await getAccountVideoChannelsList(servers[0].url, userInfo.account.name + '@' + userInfo.account.host) + const res = await getAccountVideoChannelsList({ + url: servers[ 0 ].url, + accountName: userInfo.account.name + '@' + userInfo.account.host + }) + expect(res.body.total).to.equal(2) expect(res.body.data).to.be.an('array') expect(res.body.data).to.have.lengthOf(2) @@ -123,8 +127,62 @@ describe('Test video channels', function () { expect(videoChannels[1].support).to.equal('super video channel support text') }) + it('Should paginate and sort account channels', async function () { + { + const res = await getAccountVideoChannelsList({ + url: servers[ 0 ].url, + accountName: userInfo.account.name + '@' + userInfo.account.host, + start: 0, + count: 1, + sort: 'createdAt' + }) + + expect(res.body.total).to.equal(2) + expect(res.body.data).to.have.lengthOf(1) + + const videoChannel: VideoChannel = res.body.data[ 0 ] + expect(videoChannel.name).to.equal('root_channel') + } + + { + const res = await getAccountVideoChannelsList({ + url: servers[ 0 ].url, + accountName: userInfo.account.name + '@' + userInfo.account.host, + start: 0, + count: 1, + sort: '-createdAt' + }) + + expect(res.body.total).to.equal(2) + expect(res.body.data).to.have.lengthOf(1) + + const videoChannel: VideoChannel = res.body.data[ 0 ] + expect(videoChannel.name).to.equal('second_video_channel') + } + + { + const res = await getAccountVideoChannelsList({ + url: servers[ 0 ].url, + accountName: userInfo.account.name + '@' + userInfo.account.host, + start: 1, + count: 1, + sort: '-createdAt' + }) + + expect(res.body.total).to.equal(2) + expect(res.body.data).to.have.lengthOf(1) + + const videoChannel: VideoChannel = res.body.data[ 0 ] + expect(videoChannel.name).to.equal('root_channel') + } + }) + it('Should have one video channel when getting account channels on server 2', async function () { - const res = await getAccountVideoChannelsList(servers[1].url, userInfo.account.name + '@' + userInfo.account.host) + const res = await getAccountVideoChannelsList({ + url: servers[ 1 ].url, + accountName: userInfo.account.name + '@' + userInfo.account.host + }) + expect(res.body.total).to.equal(1) expect(res.body.data).to.be.an('array') expect(res.body.data).to.have.lengthOf(1) -- cgit v1.2.3