]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/videos/multiple-servers.ts
Video channel API routes refractor
[github/Chocobozzz/PeerTube.git] / server / tests / api / videos / multiple-servers.ts
index 42a1241f7d1d2b202d23793c61a5746b539d1edb..6238cdc0858e92e18e6f9d3ee7549ecd6896a923 100644 (file)
@@ -39,6 +39,7 @@ import {
   getVideoCommentThreads,
   getVideoThreadComments
 } from '../../utils/videos/video-comments'
+import { getAccountsList } from '../../utils/users/accounts'
 
 const expect = chai.expect
 
@@ -46,6 +47,7 @@ describe('Test multiple servers', function () {
   let servers: ServerInfo[] = []
   const toRemove = []
   let videoUUID = ''
+  let accountId: number
   let videoChannelId: number
 
   before(async function () {
@@ -56,13 +58,20 @@ describe('Test multiple servers', function () {
     // Get the access tokens
     await setAccessTokensToServers(servers)
 
-    const videoChannel = {
-      name: 'my channel',
-      description: 'super channel'
+    {
+      const res = await getAccountsList(servers[0].url)
+      accountId = res.body.data[0].id
+    }
+
+    {
+      const videoChannel = {
+        name: 'my channel',
+        description: 'super channel'
+      }
+      await addVideoChannel(servers[ 0 ].url, servers[ 0 ].accessToken, accountId, videoChannel)
+      const channelRes = await getVideoChannelsList(servers[ 0 ].url, 0, 1)
+      videoChannelId = channelRes.body.data[ 0 ].id
     }
-    await addVideoChannel(servers[0].url, servers[0].accessToken, videoChannel)
-    const channelRes = await getVideoChannelsList(servers[0].url, 0, 1)
-    videoChannelId = channelRes.body.data[0].id
 
     // Server 1 and server 2 follow each other
     await doubleFollow(servers[0], servers[1])
@@ -89,7 +98,7 @@ describe('Test multiple servers', function () {
         name: 'my super name for server 1',
         category: 5,
         licence: 4,
-        language: 9,
+        language: 'ja',
         nsfw: true,
         description: 'my super description for server 1',
         support: 'my super support text for server 1',
@@ -108,7 +117,7 @@ describe('Test multiple servers', function () {
           name: 'my super name for server 1',
           category: 5,
           licence: 4,
-          language: 9,
+          language: 'ja',
           nsfw: true,
           description: 'my super description for server 1',
           support: 'my super support text for server 1',
@@ -159,7 +168,7 @@ describe('Test multiple servers', function () {
         name: 'my super name for server 2',
         category: 4,
         licence: 3,
-        language: 11,
+        language: 'de',
         nsfw: true,
         description: 'my super description for server 2',
         support: 'my super support text for server 2',
@@ -180,7 +189,7 @@ describe('Test multiple servers', function () {
           name: 'my super name for server 2',
           category: 4,
           licence: 3,
-          language: 11,
+          language: 'de',
           nsfw: true,
           description: 'my super description for server 2',
           support: 'my super support text for server 2',
@@ -238,7 +247,7 @@ describe('Test multiple servers', function () {
         name: 'my super name for server 3',
         category: 6,
         licence: 5,
-        language: 11,
+        language: 'de',
         nsfw: true,
         description: 'my super description for server 3',
         support: 'my super support text for server 3',
@@ -251,7 +260,7 @@ describe('Test multiple servers', function () {
         name: 'my super name for server 3-2',
         category: 7,
         licence: 6,
-        language: 12,
+        language: 'ko',
         nsfw: false,
         description: 'my super description for server 3-2',
         support: 'my super support text for server 3-2',
@@ -286,7 +295,7 @@ describe('Test multiple servers', function () {
           name: 'my super name for server 3',
           category: 6,
           licence: 5,
-          language: 11,
+          language: 'de',
           nsfw: true,
           description: 'my super description for server 3',
           support: 'my super support text for server 3',
@@ -318,7 +327,7 @@ describe('Test multiple servers', function () {
           name: 'my super name for server 3-2',
           category: 7,
           licence: 6,
-          language: 12,
+          language: 'ko',
           nsfw: false,
           description: 'my super description for server 3-2',
           support: 'my super support text for server 3-2',
@@ -452,7 +461,7 @@ describe('Test multiple servers', function () {
       const res2 = await getVideo(servers[0].url, video.id)
       const videoDetails = res2.body
 
-      const file = videoDetails.files.find(f => f.resolution === 360)
+      const file = videoDetails.files.find(f => f.resolution.id === 360)
       expect(file).not.to.be.undefined
 
       const torrent = await webtorrentAdd(file.magnetUri)
@@ -597,7 +606,7 @@ describe('Test multiple servers', function () {
         name: 'my super video updated',
         category: 10,
         licence: 7,
-        language: 13,
+        language: 'fr',
         nsfw: true,
         description: 'my super description updated',
         support: 'my super support text updated',
@@ -626,7 +635,7 @@ describe('Test multiple servers', function () {
           name: 'my super video updated',
           category: 10,
           licence: 7,
-          language: 13,
+          language: 'fr',
           nsfw: true,
           description: 'my super description updated',
           support: 'my super support text updated',
@@ -705,10 +714,9 @@ describe('Test multiple servers', function () {
 
         expect(baseVideo.name).to.equal(video.name)
         expect(baseVideo.uuid).to.equal(video.uuid)
-        expect(baseVideo.category).to.equal(video.category)
-        expect(baseVideo.language).to.equal(video.language)
-        expect(baseVideo.licence).to.equal(video.licence)
-        expect(baseVideo.category).to.equal(video.category)
+        expect(baseVideo.category.id).to.equal(video.category.id)
+        expect(baseVideo.language.id).to.equal(video.language.id)
+        expect(baseVideo.licence.id).to.equal(video.licence.id)
         expect(baseVideo.nsfw).to.equal(video.nsfw)
         expect(baseVideo.account.name).to.equal(video.account.name)
         expect(baseVideo.account.displayName).to.equal(video.account.displayName)
@@ -729,6 +737,8 @@ describe('Test multiple servers', function () {
   })
 
   describe('Should comment these videos', function () {
+    let childOfFirstChild: VideoCommentThreadTree
+
     it('Should add comment (threads and replies)', async function () {
       this.timeout(25000)
 
@@ -822,7 +832,7 @@ describe('Test multiple servers', function () {
         expect(firstChild.comment.account.host).equal('localhost:9002')
         expect(firstChild.children).to.have.lengthOf(1)
 
-        const childOfFirstChild = firstChild.children[0]
+        childOfFirstChild = firstChild.children[0]
         expect(childOfFirstChild.comment.text).to.equal('my super answer to answer of thread 1')
         expect(childOfFirstChild.comment.account.name).equal('root')
         expect(childOfFirstChild.comment.account.host).equal('localhost:9003')
@@ -836,6 +846,33 @@ describe('Test multiple servers', function () {
       }
     })
 
+    it('Should delete a reply', async function () {
+      this.timeout(10000)
+
+      await deleteVideoComment(servers[2].url, servers[2].accessToken, videoUUID, childOfFirstChild.comment.id)
+
+      await wait(5000)
+    })
+
+    it('Should not have this comment anymore', async function () {
+      for (const server of servers) {
+        const res1 = await getVideoCommentThreads(server.url, videoUUID, 0, 5)
+        const threadId = res1.body.data.find(c => c.text === 'my super first comment').id
+
+        const res2 = await getVideoThreadComments(server.url, videoUUID, threadId)
+
+        const tree: VideoCommentThreadTree = res2.body
+        expect(tree.comment.text).equal('my super first comment')
+
+        const firstChild = tree.children[0]
+        expect(firstChild.comment.text).to.equal('my super answer to thread 1')
+        expect(firstChild.children).to.have.lengthOf(0)
+
+        const secondChild = tree.children[1]
+        expect(secondChild.comment.text).to.equal('my second answer to thread 1')
+      }
+    })
+
     it('Should delete the thread comments', async function () {
       this.timeout(10000)