/* 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'
import {
- checkVideoFilesWereRemoved,
cleanupTests,
createSingleServer,
PeerTubeServer,
setAccessTokensToServers,
- testImage,
- wait
+ setDefaultAccountAvatar,
+ setDefaultChannelAvatar,
+ waitJobs
} from '@shared/server-commands'
-import { Video, VideoPrivacy } from '@shared/models'
-import { completeVideoCheck } from '@server/tests/shared/video'
-
-const expect = chai.expect
describe('Test a single server', function () {
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' ],
server = await createSingleServer(1)
await setAccessTokensToServers([ server ])
+ await setDefaultChannelAvatar(server)
+ await setDefaultAccountAvatar(server)
})
it('Should list video categories', async function () {
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 () {