import * as chai from 'chai'
import { omit } from 'lodash'
import { join } from 'path'
-import { randomInt } from '@shared/core-utils'
+import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination, checkUploadVideoParam } from '@server/tests/shared'
+import { randomInt, root } from '@shared/core-utils'
+import { HttpStatusCode, PeerTubeProblemDocument, VideoCreateResult, VideoPrivacy } from '@shared/models'
import {
- checkBadCountPagination,
- checkBadSortPagination,
- checkBadStartPagination,
- checkUploadVideoParam,
cleanupTests,
createSingleServer,
makeDeleteRequest,
makePutBodyRequest,
makeUploadRequest,
PeerTubeServer,
- root,
setAccessTokensToServers
-} from '@shared/extra-utils'
-import { HttpStatusCode, PeerTubeProblemDocument, VideoCreateResult, VideoPrivacy } from '@shared/models'
+} from '@shared/server-commands'
const expect = chai.expect
let channelId: number
let channelName: string
let video: VideoCreateResult
+ let privateVideo: VideoCreateResult
// ---------------------------------------------------------------
channelName = body.videoChannels[0].name
accountName = body.account.name + '@' + body.account.host
}
+
+ {
+ privateVideo = await server.videos.quickUpload({ name: 'private video', privacy: VideoPrivacy.PRIVATE })
+ }
})
describe('When listing videos', function () {
await checkBadSortPagination(server.url, path, server.accessToken)
})
+ it('Should fail with an invalid channel', async function () {
+ await makeGetRequest({ url: server.url, token: server.accessToken, path, query: { channelId: 'toto' } })
+ })
+
+ it('Should fail with an unknown channel', async function () {
+ await makeGetRequest({
+ url: server.url,
+ token: server.accessToken,
+ path,
+ query: { channelId: 89898 },
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
+ })
+ })
+
it('Should success with the correct parameters', async function () {
await makeGetRequest({ url: server.url, token: server.accessToken, path, expectedStatus: HttpStatusCode.OK_200 })
})
await makePutBodyRequest({ url: server.url, path: path + videoId + '/rate', token: server.accessToken, fields })
})
+ it('Should fail with a private video of another user', async function () {
+ const fields = {
+ rating: 'like'
+ }
+ await makePutBodyRequest({
+ url: server.url,
+ path: path + privateVideo.uuid + '/rate',
+ token: userAccessToken,
+ fields,
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
+ })
+ })
+
it('Should succeed with the correct parameters', async function () {
const fields = {
rating: 'like'