]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/utils/videos/video-channels.ts
Search video channel handle/uri
[github/Chocobozzz/PeerTube.git] / server / tests / utils / videos / video-channels.ts
index 0b4fa89b7eac6a2bf87cf70ed59c0628ad711d06..09298577798ff98eb69ba547ff62b0a6e8d58d2d 100644 (file)
@@ -1,10 +1,6 @@
 import * as request from 'supertest'
-
-type VideoChannelAttributes = {
-  name?: string
-  description?: string
-  support?: string
-}
+import { VideoChannelCreate, VideoChannelUpdate } from '../../../../shared/models/videos'
+import { updateAvatarRequest } from '../index'
 
 function getVideoChannelsList (url: string, start: number, count: number, sort?: string) {
   const path = '/api/v1/video-channels'
@@ -21,8 +17,8 @@ function getVideoChannelsList (url: string, start: number, count: number, sort?:
             .expect('Content-Type', /json/)
 }
 
-function getAccountVideoChannelsList (url: string, accountId: number | string, specialStatus = 200) {
-  const path = '/api/v1/accounts/' + accountId + '/video-channels'
+function getAccountVideoChannelsList (url: string, accountName: string, specialStatus = 200) {
+  const path = '/api/v1/accounts/' + accountName + '/video-channels'
 
   return request(url)
     .get(path)
@@ -34,15 +30,14 @@ function getAccountVideoChannelsList (url: string, accountId: number | string, s
 function addVideoChannel (
   url: string,
   token: string,
-  accountId: number | string,
-  videoChannelAttributesArg: VideoChannelAttributes,
+  videoChannelAttributesArg: VideoChannelCreate,
   expectedStatus = 200
 ) {
-  const path = '/api/v1/accounts/' + accountId + '/video-channels/'
+  const path = '/api/v1/video-channels/'
 
   // Default attributes
   let attributes = {
-    name: 'my super video channel',
+    displayName: 'my super video channel',
     description: 'my super channel description',
     support: 'my super channel support'
   }
@@ -59,15 +54,14 @@ function addVideoChannel (
 function updateVideoChannel (
   url: string,
   token: string,
-  accountId: number | string,
-  channelId: number | string,
-  attributes: VideoChannelAttributes,
+  channelName: string,
+  attributes: VideoChannelUpdate,
   expectedStatus = 204
 ) {
   const body = {}
-  const path = '/api/v1/accounts/' + accountId + '/video-channels/' + channelId
+  const path = '/api/v1/video-channels/' + channelName
 
-  if (attributes.name) body['name'] = attributes.name
+  if (attributes.displayName) body['displayName'] = attributes.displayName
   if (attributes.description) body['description'] = attributes.description
   if (attributes.support) body['support'] = attributes.support
 
@@ -79,8 +73,8 @@ function updateVideoChannel (
     .expect(expectedStatus)
 }
 
-function deleteVideoChannel (url: string, token: string, accountId: number | string, channelId: number | string, expectedStatus = 204) {
-  const path = '/api/v1/accounts/' + accountId + '/video-channels/' + channelId
+function deleteVideoChannel (url: string, token: string, channelName: string, expectedStatus = 204) {
+  const path = '/api/v1/video-channels/' + channelName
 
   return request(url)
     .delete(path)
@@ -89,8 +83,8 @@ function deleteVideoChannel (url: string, token: string, accountId: number | str
     .expect(expectedStatus)
 }
 
-function getVideoChannel (url: string, accountId: number | string, channelId: number | string) {
-  const path = '/api/v1/accounts/' + accountId + '/video-channels/' + channelId
+function getVideoChannel (url: string, channelName: string) {
+  const path = '/api/v1/video-channels/' + channelName
 
   return request(url)
     .get(path)
@@ -99,9 +93,22 @@ function getVideoChannel (url: string, accountId: number | string, channelId: nu
     .expect('Content-Type', /json/)
 }
 
+function updateVideoChannelAvatar (options: {
+  url: string,
+  accessToken: string,
+  fixture: string,
+  videoChannelName: string | number
+}) {
+
+  const path = '/api/v1/video-channels/' + options.videoChannelName + '/avatar/pick'
+
+  return updateAvatarRequest(Object.assign(options, { path }))
+}
+
 // ---------------------------------------------------------------------------
 
 export {
+  updateVideoChannelAvatar,
   getVideoChannelsList,
   getAccountVideoChannelsList,
   addVideoChannel,