/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
-import * as chai from 'chai'
+import { expect } from 'chai'
import { checkVideoFilesWereRemoved, completeVideoCheck, testImage } from '@server/tests/shared'
import { wait } from '@shared/core-utils'
import { Video, VideoPrivacy } from '@shared/models'
PeerTubeServer,
setAccessTokensToServers,
setDefaultAccountAvatar,
- setDefaultChannelAvatar
+ setDefaultChannelAvatar,
+ waitJobs
} from '@shared/server-commands'
-const expect = chai.expect
-
describe('Test a single server', function () {
function runSuite (mode: 'legacy' | 'resumable') {
support: 'my super support text',
account: {
name: 'root',
- host: 'localhost:' + server.port
+ host: server.host
},
isLocal: true,
duration: 5,
support: 'my super support text updated',
account: {
name: 'root',
- host: 'localhost:' + server.port
+ host: server.host
},
isLocal: true,
tags: [ 'tagup1', 'tagup2' ],
expect(data.length).to.equal(1)
const video = data[0]
- await completeVideoCheck(server, video, getCheckAttributes())
+ await completeVideoCheck({ server, originServer: server, videoUUID: video.uuid, attributes: getCheckAttributes() })
})
it('Should get the video by UUID', async function () {
this.timeout(5000)
const video = await server.videos.get({ id: videoUUID })
- await completeVideoCheck(server, video, getCheckAttributes())
+ await completeVideoCheck({ server, originServer: server, videoUUID: video.uuid, attributes: getCheckAttributes() })
})
it('Should have the views updated', async function () {
this.timeout(20000)
- await server.videos.view({ id: videoId })
- await server.videos.view({ id: videoId })
- await server.videos.view({ id: videoId })
+ await server.views.simulateView({ id: videoId })
+ await server.views.simulateView({ id: videoId })
+ await server.views.simulateView({ id: videoId })
await wait(1500)
- await server.videos.view({ id: videoId })
- await server.videos.view({ id: videoId })
+ await server.views.simulateView({ id: videoId })
+ await server.views.simulateView({ id: videoId })
await wait(1500)
- await server.videos.view({ id: videoId })
- await server.videos.view({ id: videoId })
+ await server.views.simulateView({ id: videoId })
+ await server.views.simulateView({ id: videoId })
- // Wait the repeatable job
- await wait(8000)
+ await server.debug.sendCommand({ body: { command: 'process-video-views-buffer' } })
const video = await server.videos.get({ id: videoId })
expect(video.views).to.equal(3)
it('Should have the video updated', async function () {
this.timeout(60000)
+ await waitJobs([ server ])
+
const video = await server.videos.get({ id: videoId })
- await completeVideoCheck(server, video, updateCheckAttributes())
+ await completeVideoCheck({ server, originServer: server, videoUUID: video.uuid, attributes: updateCheckAttributes() })
})
it('Should update only the tags of a video', async function () {
const video = await server.videos.get({ id: videoId })
- await completeVideoCheck(server, video, Object.assign(updateCheckAttributes(), attributes))
+ await completeVideoCheck({
+ server,
+ originServer: server,
+ videoUUID: video.uuid,
+ attributes: Object.assign(updateCheckAttributes(), attributes)
+ })
})
it('Should update only the description of a video', async function () {
const video = await server.videos.get({ id: videoId })
- const expectedAttributes = Object.assign(updateCheckAttributes(), { tags: [ 'supertag', 'tag1', 'tag2' ] }, attributes)
- await completeVideoCheck(server, video, expectedAttributes)
+ await completeVideoCheck({
+ server,
+ originServer: server,
+ videoUUID: video.uuid,
+ attributes: Object.assign(updateCheckAttributes(), { tags: [ 'supertag', 'tag1', 'tag2' ] }, attributes)
+ })
})
it('Should like a video', async function () {