+ describe('User stats', function () {
+ let user17Id
+ let user17AccessToken
+
+ it('Should report correct initial statistics about a user', async function () {
+ const user17 = {
+ username: 'user_17',
+ password: 'my super password'
+ }
+ const resUser = await createUser({
+ url: server.url,
+ accessToken: server.accessToken,
+ username: user17.username,
+ password: user17.password
+ })
+
+ user17Id = resUser.body.user.id
+ user17AccessToken = await userLogin(server, user17)
+
+ const res = await getUserInformation(server.url, server.accessToken, user17Id, true)
+ const user: User = res.body
+
+ expect(user.videosCount).to.equal(0)
+ expect(user.videoCommentsCount).to.equal(0)
+ expect(user.videoAbusesCount).to.equal(0)
+ expect(user.videoAbusesCreatedCount).to.equal(0)
+ expect(user.videoAbusesAcceptedCount).to.equal(0)
+ })
+
+ it('Should report correct videos count', async function () {
+ const videoAttributes = {
+ name: 'video to test user stats'
+ }
+ await uploadVideo(server.url, user17AccessToken, videoAttributes)
+ const res1 = await getVideosList(server.url)
+ videoId = res1.body.data.find(video => video.name === videoAttributes.name).id
+
+ const res2 = await getUserInformation(server.url, server.accessToken, user17Id, true)
+ const user: User = res2.body
+
+ expect(user.videosCount).to.equal(1)
+ })
+
+ it('Should report correct video comments for user', async function () {
+ const text = 'super comment'
+ await addVideoCommentThread(server.url, user17AccessToken, videoId, text)
+
+ const res = await getUserInformation(server.url, server.accessToken, user17Id, true)
+ const user: User = res.body
+
+ expect(user.videoCommentsCount).to.equal(1)
+ })
+
+ it('Should report correct video abuses counts', async function () {
+ const reason = 'my super bad reason'
+ await reportVideoAbuse(server.url, user17AccessToken, videoId, reason)
+
+ const res1 = await getVideoAbusesList({ url: server.url, token: server.accessToken })
+ const abuseId = res1.body.data[0].id
+
+ const res2 = await getUserInformation(server.url, server.accessToken, user17Id, true)
+ const user2: User = res2.body
+
+ expect(user2.videoAbusesCount).to.equal(1) // number of incriminations
+ expect(user2.videoAbusesCreatedCount).to.equal(1) // number of reports created