-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import * as chai from 'chai'
import 'mocha'
doubleFollow,
flushAndRunMultipleServers,
follow,
- killallServers,
- ServerInfo,
+ ServerInfo, unfollow,
uploadVideo,
viewVideo,
- wait
+ wait,
+ userLogin
} from '../../../../shared/extra-utils'
-import { flushTests, setAccessTokensToServers } from '../../../../shared/extra-utils/index'
+import { setAccessTokensToServers } from '../../../../shared/extra-utils/index'
import { getStats } from '../../../../shared/extra-utils/server/stats'
import { addVideoCommentThread } from '../../../../shared/extra-utils/videos/video-comments'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
describe('Test stats (excluding redundancy)', function () {
let servers: ServerInfo[] = []
+ const user = {
+ username: 'user1',
+ password: 'super_password'
+ }
before(async function () {
this.timeout(60000)
await doubleFollow(servers[0], servers[1])
- const user = {
- username: 'user1',
- password: 'super_password'
- }
- await createUser({ url: servers[ 0 ].url, accessToken: servers[ 0 ].accessToken, username: user.username, password: user.password })
+ await createUser({ url: servers[0].url, accessToken: servers[0].accessToken, username: user.username, password: user.password })
const resVideo = await uploadVideo(servers[0].url, servers[0].accessToken, { fixture: 'video_short.webm' })
const videoUUID = resVideo.body.video.uuid
expect(data.totalInstanceFollowers).to.equal(0)
})
+ it('Should have the correct total videos stats after an unfollow', async function () {
+ this.timeout(15000)
+
+ await unfollow(servers[2].url, servers[2].accessToken, servers[0])
+ await waitJobs(servers)
+
+ const res = await getStats(servers[2].url)
+ const data: ServerStats = res.body
+
+ expect(data.totalVideos).to.equal(0)
+ })
+
+ it('Should have the correct active users stats', async function () {
+ const server = servers[0]
+
+ {
+ const res = await getStats(server.url)
+ const data: ServerStats = res.body
+ expect(data.totalDailyActiveUsers).to.equal(1)
+ expect(data.totalWeeklyActiveUsers).to.equal(1)
+ expect(data.totalMonthlyActiveUsers).to.equal(1)
+ }
+
+ {
+ await userLogin(server, user)
+
+ const res = await getStats(server.url)
+ const data: ServerStats = res.body
+ expect(data.totalDailyActiveUsers).to.equal(2)
+ expect(data.totalWeeklyActiveUsers).to.equal(2)
+ expect(data.totalMonthlyActiveUsers).to.equal(2)
+ }
+ })
+
after(async function () {
await cleanupTests(servers)
})