]>
Commit | Line | Data |
---|---|---|
6e46de09 C |
1 | /* tslint:disable:no-unused-expression */ |
2 | ||
3 | import * as chai from 'chai' | |
4 | import 'mocha' | |
5 | import { | |
6 | flushTests, | |
7 | killallServers, | |
8 | makePostBodyRequest, | |
9 | makePutBodyRequest, | |
10 | runServer, | |
11 | ServerInfo, | |
12 | setAccessTokensToServers, | |
13 | uploadVideo | |
14 | } from '../../utils' | |
15 | ||
16 | const expect = chai.expect | |
17 | ||
18 | describe('Test videos history API validator', function () { | |
19 | let path: string | |
20 | let server: ServerInfo | |
21 | ||
22 | // --------------------------------------------------------------- | |
23 | ||
24 | before(async function () { | |
25 | this.timeout(30000) | |
26 | ||
27 | await flushTests() | |
28 | ||
29 | server = await runServer(1) | |
30 | ||
31 | await setAccessTokensToServers([ server ]) | |
32 | ||
33 | const res = await uploadVideo(server.url, server.accessToken, {}) | |
34 | const videoUUID = res.body.video.uuid | |
35 | ||
36 | path = '/api/v1/videos/' + videoUUID + '/watching' | |
37 | }) | |
38 | ||
39 | describe('When notifying a user is watching a video', function () { | |
40 | ||
41 | it('Should fail with an unauthenticated user', async function () { | |
42 | const fields = { currentTime: 5 } | |
43 | await makePutBodyRequest({ url: server.url, path, fields, statusCodeExpected: 401 }) | |
44 | }) | |
45 | ||
46 | it('Should fail with an incorrect video id', async function () { | |
47 | const fields = { currentTime: 5 } | |
48 | const path = '/api/v1/videos/blabla/watching' | |
49 | await makePutBodyRequest({ url: server.url, path, fields, token: server.accessToken, statusCodeExpected: 400 }) | |
50 | }) | |
51 | ||
52 | it('Should fail with an unknown video', async function () { | |
53 | const fields = { currentTime: 5 } | |
54 | const path = '/api/v1/videos/d91fff41-c24d-4508-8e13-3bd5902c3b02/watching' | |
55 | ||
56 | await makePutBodyRequest({ url: server.url, path, fields, token: server.accessToken, statusCodeExpected: 404 }) | |
57 | }) | |
58 | ||
59 | it('Should fail with a bad current time', async function () { | |
60 | const fields = { currentTime: 'hello' } | |
61 | await makePutBodyRequest({ url: server.url, path, fields, token: server.accessToken, statusCodeExpected: 400 }) | |
62 | }) | |
63 | ||
64 | it('Should succeed with the correct parameters', async function () { | |
65 | const fields = { currentTime: 5 } | |
66 | ||
67 | await makePutBodyRequest({ url: server.url, path, fields, token: server.accessToken, statusCodeExpected: 204 }) | |
68 | }) | |
69 | }) | |
70 | ||
71 | after(async function () { | |
72 | killallServers([ server ]) | |
73 | ||
74 | // Keep the logs if the test failed | |
75 | if (this['ok']) { | |
76 | await flushTests() | |
77 | } | |
78 | }) | |
79 | }) |