/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
-import 'mocha'
import { HttpStatusCode, VideoPrivacy } from '@shared/models'
import {
cleanupTests,
})
it('Should fail without token', async function () {
- await servers[0].videoStats.getOverallStats({ videoId: videoId, token: null, expectedStatus: HttpStatusCode.UNAUTHORIZED_401 })
+ await servers[0].videoStats.getOverallStats({ videoId, token: null, expectedStatus: HttpStatusCode.UNAUTHORIZED_401 })
})
it('Should fail with another token', async function () {
await servers[0].videoStats.getOverallStats({
- videoId: videoId,
+ videoId,
token: userAccessToken,
expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
+ it('Should fail with an invalid start date', async function () {
+ await servers[0].videoStats.getOverallStats({
+ videoId,
+ startDate: 'fake' as any,
+ endDate: new Date().toISOString(),
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail with an invalid end date', async function () {
+ await servers[0].videoStats.getOverallStats({
+ videoId,
+ startDate: new Date().toISOString(),
+ endDate: 'fake' as any,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
it('Should succeed with the correct parameters', async function () {
- await servers[0].videoStats.getOverallStats({ videoId })
+ await servers[0].videoStats.getOverallStats({
+ videoId,
+ startDate: new Date().toISOString(),
+ endDate: new Date().toISOString()
+ })
})
})
it('Should fail without token', async function () {
await servers[0].videoStats.getTimeserieStats({
- videoId: videoId,
+ videoId,
token: null,
metric: 'viewers',
expectedStatus: HttpStatusCode.UNAUTHORIZED_401
it('Should fail with another token', async function () {
await servers[0].videoStats.getTimeserieStats({
- videoId: videoId,
+ videoId,
token: userAccessToken,
metric: 'viewers',
expectedStatus: HttpStatusCode.FORBIDDEN_403
await servers[0].videoStats.getTimeserieStats({ videoId, metric: 'hello' as any, expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
})
+ it('Should fail with an invalid start date', async function () {
+ await servers[0].videoStats.getTimeserieStats({
+ videoId,
+ metric: 'viewers',
+ startDate: 'fake' as any,
+ endDate: new Date(),
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail with an invalid end date', async function () {
+ await servers[0].videoStats.getTimeserieStats({
+ videoId,
+ metric: 'viewers',
+ startDate: new Date(),
+ endDate: 'fake' as any,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail if start date is specified but not end date', async function () {
+ await servers[0].videoStats.getTimeserieStats({
+ videoId,
+ metric: 'viewers',
+ startDate: new Date(),
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail if end date is specified but not start date', async function () {
+ await servers[0].videoStats.getTimeserieStats({
+ videoId,
+ metric: 'viewers',
+ endDate: new Date(),
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail with a too big interval', async function () {
+ await servers[0].videoStats.getTimeserieStats({
+ videoId,
+ metric: 'viewers',
+ startDate: new Date('2000-04-07T08:31:57.126Z'),
+ endDate: new Date(),
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
it('Should succeed with the correct parameters', async function () {
await servers[0].videoStats.getTimeserieStats({ videoId, metric: 'viewers' })
})
it('Should fail without token', async function () {
await servers[0].videoStats.getRetentionStats({
- videoId: videoId,
+ videoId,
token: null,
expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
it('Should fail with another token', async function () {
await servers[0].videoStats.getRetentionStats({
- videoId: videoId,
+ videoId,
token: userAccessToken,
expectedStatus: HttpStatusCode.FORBIDDEN_403
})