/* 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,
- completeVideoCheck,
createSingleServer,
PeerTubeServer,
setAccessTokensToServers,
- testImage,
- wait
-} from '@shared/extra-utils'
-import { Video, VideoPrivacy } from '@shared/models'
-
-const expect = chai.expect
+ setDefaultAccountAvatar,
+ setDefaultChannelAvatar,
+ waitJobs
+} from '@shared/server-commands'
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)
await server.videos.update({ id: videoId, attributes })
})
- it('Should filter by tags and category', async function () {
- {
- const { data, total } = await server.videos.list({ tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 4 ] })
- expect(total).to.equal(1)
- expect(data[0].name).to.equal('my super video updated')
- }
-
- {
- const { total } = await server.videos.list({ tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 3 ] })
- expect(total).to.equal(0)
- }
- })
-
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 () {