import * as request from 'supertest'
-import { VideoAbuseUpdate } from '../../models/videos/abuse/video-abuse-update.model'
-import { makeDeleteRequest, makePutBodyRequest } from '../requests/requests'
+import { AbusePredefinedReasonsString, AbuseState, AbuseUpdate, AbuseVideoIs } from '@shared/models'
+import { makeDeleteRequest, makeGetRequest, makePutBodyRequest } from '../requests/requests'
-function reportVideoAbuse (url: string, token: string, videoId: number | string, reason: string, specialStatus = 200) {
+// FIXME: deprecated in 2.3. Remove this file
+
+function reportVideoAbuse (
+ url: string,
+ token: string,
+ videoId: number | string,
+ reason: string,
+ predefinedReasons?: AbusePredefinedReasonsString[],
+ startAt?: number,
+ endAt?: number,
+ specialStatus = 200
+) {
const path = '/api/v1/videos/' + videoId + '/abuse'
return request(url)
.post(path)
.set('Accept', 'application/json')
.set('Authorization', 'Bearer ' + token)
- .send({ reason })
+ .send({ reason, predefinedReasons, startAt, endAt })
.expect(specialStatus)
}
-function getVideoAbusesList (url: string, token: string) {
+function getVideoAbusesList (options: {
+ url: string
+ token: string
+ id?: number
+ predefinedReason?: AbusePredefinedReasonsString
+ search?: string
+ state?: AbuseState
+ videoIs?: AbuseVideoIs
+ searchReporter?: string
+ searchReportee?: string
+ searchVideo?: string
+ searchVideoChannel?: string
+}) {
+ const {
+ url,
+ token,
+ id,
+ predefinedReason,
+ search,
+ state,
+ videoIs,
+ searchReporter,
+ searchReportee,
+ searchVideo,
+ searchVideoChannel
+ } = options
const path = '/api/v1/videos/abuse'
- return request(url)
- .get(path)
- .query({ sort: 'createdAt' })
- .set('Accept', 'application/json')
- .set('Authorization', 'Bearer ' + token)
- .expect(200)
- .expect('Content-Type', /json/)
+ const query = {
+ sort: 'createdAt',
+ id,
+ predefinedReason,
+ search,
+ state,
+ videoIs,
+ searchReporter,
+ searchReportee,
+ searchVideo,
+ searchVideoChannel
+ }
+
+ return makeGetRequest({
+ url,
+ path,
+ token,
+ query,
+ statusCodeExpected: 200
+ })
}
function updateVideoAbuse (
token: string,
videoId: string | number,
videoAbuseId: number,
- body: VideoAbuseUpdate,
+ body: AbuseUpdate,
statusCodeExpected = 204
) {
const path = '/api/v1/videos/' + videoId + '/abuse/' + videoAbuseId