]>
Commit | Line | Data |
---|---|---|
d525fc39 C |
1 | /* tslint:disable:no-unused-expression */ |
2 | ||
3 | import * as request from 'supertest' | |
4 | import { VideosSearchQuery } from '../../../../shared/models/search' | |
5 | import { immutableAssign } from '..' | |
6 | ||
7 | function searchVideo (url: string, search: string) { | |
8 | const path = '/api/v1/search/videos' | |
9 | const req = request(url) | |
10 | .get(path) | |
11 | .query({ sort: '-publishedAt', search }) | |
12 | .set('Accept', 'application/json') | |
13 | ||
14 | return req.expect(200) | |
15 | .expect('Content-Type', /json/) | |
16 | } | |
17 | ||
18 | function searchVideoWithToken (url: string, search: string, token: string, query: { nsfw?: boolean } = {}) { | |
19 | const path = '/api/v1/search/videos' | |
20 | const req = request(url) | |
21 | .get(path) | |
22 | .set('Authorization', 'Bearer ' + token) | |
23 | .query(immutableAssign(query, { sort: '-publishedAt', search })) | |
24 | .set('Accept', 'application/json') | |
25 | ||
26 | return req.expect(200) | |
27 | .expect('Content-Type', /json/) | |
28 | } | |
29 | ||
30 | function searchVideoWithPagination (url: string, search: string, start: number, count: number, sort?: string) { | |
31 | const path = '/api/v1/search/videos' | |
32 | ||
33 | const req = request(url) | |
34 | .get(path) | |
35 | .query({ start }) | |
36 | .query({ search }) | |
37 | .query({ count }) | |
38 | ||
39 | if (sort) req.query({ sort }) | |
40 | ||
41 | return req.set('Accept', 'application/json') | |
42 | .expect(200) | |
43 | .expect('Content-Type', /json/) | |
44 | } | |
45 | ||
46 | function searchVideoWithSort (url: string, search: string, sort: string) { | |
47 | const path = '/api/v1/search/videos' | |
48 | ||
49 | return request(url) | |
50 | .get(path) | |
51 | .query({ search }) | |
52 | .query({ sort }) | |
53 | .set('Accept', 'application/json') | |
54 | .expect(200) | |
55 | .expect('Content-Type', /json/) | |
56 | } | |
57 | ||
58 | function advancedVideosSearch (url: string, options: VideosSearchQuery) { | |
59 | const path = '/api/v1/search/videos' | |
60 | ||
61 | return request(url) | |
62 | .get(path) | |
63 | .query(options) | |
64 | .set('Accept', 'application/json') | |
65 | .expect(200) | |
66 | .expect('Content-Type', /json/) | |
67 | } | |
68 | ||
69 | // --------------------------------------------------------------------------- | |
70 | ||
71 | export { | |
72 | searchVideo, | |
73 | advancedVideosSearch, | |
74 | searchVideoWithToken, | |
75 | searchVideoWithPagination, | |
76 | searchVideoWithSort | |
77 | } |