From 32c68d67d9125df62ead71668efca4da30132786 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Fri, 3 Jan 2020 13:36:34 +0100 Subject: [PATCH] Tests for totalRepliesFromVideoAuthor --- server/tests/api/users/blocklist.ts | 2 +- server/tests/api/videos/video-comments.ts | 32 +++++++++++++++++++++++ shared/extra-utils/server/jobs.ts | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/server/tests/api/users/blocklist.ts b/server/tests/api/users/blocklist.ts index 09e72d068..05e58017a 100644 --- a/server/tests/api/users/blocklist.ts +++ b/server/tests/api/users/blocklist.ts @@ -38,7 +38,7 @@ import { removeServerFromAccountBlocklist, removeServerFromServerBlocklist } from '../../../../shared/extra-utils/users/blocklist' -import { getUserNotifications } from '@shared/extra-utils/users/user-notifications' +import { getUserNotifications } from '../../../../shared/extra-utils/users/user-notifications' const expect = chai.expect diff --git a/server/tests/api/videos/video-comments.ts b/server/tests/api/videos/video-comments.ts index 95be14c0e..06e4ff9c8 100644 --- a/server/tests/api/videos/video-comments.ts +++ b/server/tests/api/videos/video-comments.ts @@ -10,6 +10,8 @@ import { ServerInfo, setAccessTokensToServers, updateMyAvatar, + getAccessToken, + createUser, uploadVideo } from '../../../../shared/extra-utils/index' import { @@ -29,6 +31,8 @@ describe('Test video comments', function () { let threadId let replyToDeleteId: number + let userAccessTokenServer1: string + before(async function () { this.timeout(30000) @@ -45,6 +49,14 @@ describe('Test video comments', function () { accessToken: server.accessToken, fixture: 'avatar.png' }) + + await createUser({ + url: server.url, + accessToken: server.accessToken, + username: 'user1', + password: 'password' + }) + userAccessTokenServer1 = await getAccessToken(server.url, 'user1', 'password') }) it('Should not have threads on this video', async function () { @@ -69,6 +81,7 @@ describe('Test video comments', function () { expect(comment.account.host).to.equal('localhost:' + server.port) expect(comment.account.url).to.equal('http://localhost:' + server.port + '/accounts/root') expect(comment.totalReplies).to.equal(0) + expect(comment.totalRepliesFromVideoAuthor).to.equal(0) expect(dateIsValid(comment.createdAt as string)).to.be.true expect(dateIsValid(comment.updatedAt as string)).to.be.true }) @@ -91,6 +104,7 @@ describe('Test video comments', function () { await testImage(server.url, 'avatar-resized', comment.account.avatar.path, '.png') expect(comment.totalReplies).to.equal(0) + expect(comment.totalRepliesFromVideoAuthor).to.equal(0) expect(dateIsValid(comment.createdAt as string)).to.be.true expect(dateIsValid(comment.updatedAt as string)).to.be.true @@ -209,6 +223,24 @@ describe('Test video comments', function () { expect(res.body.data[2].totalReplies).to.equal(0) }) + it('Should count replies from the video author correctly', async function () { + const text = 'my super first comment' + await addVideoCommentThread(server.url, server.accessToken, videoUUID, text) + let res = await getVideoCommentThreads(server.url, videoUUID, 0, 5) + const comment: VideoComment = res.body.data[0] + const threadId2 = comment.threadId + + const text2 = 'a first answer to thread 4 by a third party' + await addVideoCommentReply(server.url, userAccessTokenServer1, videoId, threadId2, text2) + + const text3 = 'my second answer to thread 4' + await addVideoCommentReply(server.url, server.accessToken, videoId, threadId2, text3) + + res = await getVideoThreadComments(server.url, videoUUID, threadId2) + const tree: VideoCommentThreadTree = res.body + expect(tree.comment.totalReplies).to.equal(tree.comment.totalRepliesFromVideoAuthor + 1) + }) + after(async function () { await cleanupTests([ server ]) }) diff --git a/shared/extra-utils/server/jobs.ts b/shared/extra-utils/server/jobs.ts index cc1352e14..56fe5fa2a 100644 --- a/shared/extra-utils/server/jobs.ts +++ b/shared/extra-utils/server/jobs.ts @@ -2,7 +2,7 @@ import * as request from 'supertest' import { Job, JobState, JobType } from '../../models' import { wait } from '../miscs/miscs' import { ServerInfo } from './servers' -import { makeGetRequest } from '@shared/extra-utils' +import { makeGetRequest } from '../../../shared/extra-utils' function getJobsList (url: string, accessToken: string, state: JobState) { const path = '/api/v1/jobs/' + state -- 2.25.1