+
+ it('Should succeed with the correct parameters', async function () {
+ const fields = { reason: 'super reason' }
+
+ const res = await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields, statusCodeExpected: 200 })
+ videoAbuseId = res.body.videoAbuse.id
+ })
+ })
+
+ describe('When updating a video abuse', function () {
+ const basePath = '/api/v1/videos/'
+ let path: string
+
+ before(() => {
+ path = basePath + server.video.id + '/abuse/' + videoAbuseId
+ })
+
+ it('Should fail with a non authenticated user', async function () {
+ await updateVideoAbuse(server.url, 'blabla', server.video.uuid, videoAbuseId, {}, 401)
+ })
+
+ it('Should fail with a non admin user', async function () {
+ await updateVideoAbuse(server.url, userAccessToken, server.video.uuid, videoAbuseId, {}, 403)
+ })
+
+ it('Should fail with a bad video id or bad video abuse id', async function () {
+ await updateVideoAbuse(server.url, server.accessToken, server.video.uuid, 45, {}, 404)
+ await updateVideoAbuse(server.url, server.accessToken, 52, videoAbuseId, {}, 404)
+ })
+
+ it('Should fail with a bad state', async function () {
+ const body = { state: 5 }
+ await updateVideoAbuse(server.url, server.accessToken, server.video.uuid, videoAbuseId, body, 400)
+ })
+
+ it('Should fail with a bad moderation comment', async function () {
+ const body = { moderationComment: 'b'.repeat(305) }
+ await updateVideoAbuse(server.url, server.accessToken, server.video.uuid, videoAbuseId, body, 400)
+ })
+
+ it('Should succeed with the correct params', async function () {
+ const body = { state: VideoAbuseState.ACCEPTED }
+ await updateVideoAbuse(server.url, server.accessToken, server.video.uuid, videoAbuseId, body)
+ })
+ })
+
+ describe('When deleting a video abuse', function () {
+ const basePath = '/api/v1/videos/'
+ let path: string
+
+ before(() => {
+ path = basePath + server.video.id + '/abuse/' + videoAbuseId
+ })
+
+ it('Should fail with a non authenticated user', async function () {
+ await deleteVideoAbuse(server.url, 'blabla', server.video.uuid, videoAbuseId, 401)
+ })
+
+ it('Should fail with a non admin user', async function () {
+ await deleteVideoAbuse(server.url, userAccessToken, server.video.uuid, videoAbuseId, 403)
+ })
+
+ it('Should fail with a bad video id or bad video abuse id', async function () {
+ await deleteVideoAbuse(server.url, server.accessToken, server.video.uuid, 45, 404)
+ await deleteVideoAbuse(server.url, server.accessToken, 52, videoAbuseId, 404)
+ })
+
+ it('Should succeed with the correct params', async function () {
+ await deleteVideoAbuse(server.url, server.accessToken, server.video.uuid, videoAbuseId)
+ })