-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import * as chai from 'chai'
-import 'mocha'
+import { expect } from 'chai'
import {
- flushAndRunMultipleServers,
- getVideo,
- getVideoDescription,
- getVideosList,
- killallServers,
- ServerInfo,
+ cleanupTests,
+ createMultipleServers,
+ doubleFollow,
+ PeerTubeServer,
setAccessTokensToServers,
- updateVideo,
- uploadVideo
-} from '../../../../shared/utils/index'
-import { doubleFollow } from '../../../../shared/utils/server/follows'
-import { waitJobs } from '../../../../shared/utils/server/jobs'
-
-const expect = chai.expect
+ waitJobs
+} from '@shared/server-commands'
describe('Test video description', function () {
- let servers: ServerInfo[] = []
+ let servers: PeerTubeServer[] = []
let videoUUID = ''
let videoId: number
- let longDescription = 'my super description for server 1'.repeat(50)
+
+ const longDescription = 'my super description for server 1'.repeat(50)
+
+ // 30 characters * 6 -> 240 characters
+ const truncatedDescription = 'my super description for server 1'.repeat(7) + 'my super descrip...'
before(async function () {
this.timeout(40000)
// Run servers
- servers = await flushAndRunMultipleServers(2)
+ servers = await createMultipleServers(2)
// Get the access tokens
await setAccessTokensToServers(servers)
})
it('Should upload video with long description', async function () {
- this.timeout(10000)
+ this.timeout(30000)
const attributes = {
description: longDescription
}
- await uploadVideo(servers[0].url, servers[0].accessToken, attributes)
+ await servers[0].videos.upload({ attributes })
await waitJobs(servers)
- const res = await getVideosList(servers[0].url)
+ const { data } = await servers[0].videos.list()
- videoId = res.body.data[0].id
- videoUUID = res.body.data[0].uuid
+ videoId = data[0].id
+ videoUUID = data[0].uuid
})
- it('Should have a truncated description on each server', async function () {
+ it('Should have a truncated description on each server when listing videos', async function () {
for (const server of servers) {
- const res = await getVideo(server.url, videoUUID)
- const video = res.body
-
- // 30 characters * 6 -> 240 characters
- const truncatedDescription = 'my super description for server 1'.repeat(7) +
- 'my super descrip...'
+ const { data } = await server.videos.list()
+ const video = data.find(v => v.uuid === videoUUID)
expect(video.description).to.equal(truncatedDescription)
+ expect(video.truncatedDescription).to.equal(truncatedDescription)
+ }
+ })
+
+ it('Should not have a truncated description on each server when getting videos', async function () {
+ for (const server of servers) {
+ const video = await server.videos.get({ id: videoUUID })
+
+ expect(video.description).to.equal(longDescription)
+ expect(video.truncatedDescription).to.equal(truncatedDescription)
}
})
it('Should fetch long description on each server', async function () {
for (const server of servers) {
- const res = await getVideo(server.url, videoUUID)
- const video = res.body
+ const video = await server.videos.get({ id: videoUUID })
- const res2 = await getVideoDescription(server.url, video.descriptionPath)
- expect(res2.body.description).to.equal(longDescription)
+ const { description } = await server.videos.getDescription({ descriptionPath: video.descriptionPath })
+ expect(description).to.equal(longDescription)
}
})
const attributes = {
description: 'short description'
}
- await updateVideo(servers[0].url, servers[0].accessToken, videoId, attributes)
+ await servers[0].videos.update({ id: videoId, attributes })
await waitJobs(servers)
})
it('Should have a small description on each server', async function () {
for (const server of servers) {
- const res = await getVideo(server.url, videoUUID)
- const video = res.body
+ const video = await server.videos.get({ id: videoUUID })
expect(video.description).to.equal('short description')
- const res2 = await getVideoDescription(server.url, video.descriptionPath)
- expect(res2.body.description).to.equal('short description')
+ const { description } = await server.videos.getDescription({ descriptionPath: video.descriptionPath })
+ expect(description).to.equal('short description')
}
})
after(async function () {
- killallServers(servers)
+ await cleanupTests(servers)
})
})