diff options
Diffstat (limited to 'server/tests/client.ts')
-rw-r--r-- | server/tests/client.ts | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/server/tests/client.ts b/server/tests/client.ts new file mode 100644 index 000000000..5e5abba5a --- /dev/null +++ b/server/tests/client.ts | |||
@@ -0,0 +1,68 @@ | |||
1 | /* tslint:disable:no-unused-expression */ | ||
2 | |||
3 | import 'mocha' | ||
4 | import * as chai from 'chai' | ||
5 | import * as request from 'supertest' | ||
6 | const expect = chai.expect | ||
7 | |||
8 | import { | ||
9 | ServerInfo, | ||
10 | flushTests, | ||
11 | runServer, | ||
12 | loginAndGetAccessToken, | ||
13 | uploadVideo, | ||
14 | getVideosList | ||
15 | } from './utils' | ||
16 | |||
17 | describe('Test a client controllers', function () { | ||
18 | let server: ServerInfo | ||
19 | |||
20 | before(async function () { | ||
21 | this.timeout(120000) | ||
22 | |||
23 | await flushTests() | ||
24 | |||
25 | server = await runServer(1) | ||
26 | server.accessToken = await loginAndGetAccessToken(server) | ||
27 | |||
28 | const videoAttributes = { | ||
29 | name: 'my super name for pod 1', | ||
30 | description: 'my super description for pod 1' | ||
31 | } | ||
32 | await uploadVideo(server.url, server.accessToken, videoAttributes) | ||
33 | |||
34 | const res = await getVideosList(server.url) | ||
35 | const videos = res.body.data | ||
36 | |||
37 | expect(videos.length).to.equal(1) | ||
38 | |||
39 | server.video = videos[0] | ||
40 | }) | ||
41 | |||
42 | it('It should have valid Open Graph tags on the watch page with video id', async function () { | ||
43 | const res = await request(server.url) | ||
44 | .get('/videos/watch/' + server.video.id) | ||
45 | .expect(200) | ||
46 | |||
47 | expect(res.text).to.contain('<meta property="og:title" content="my super name for pod 1" />') | ||
48 | expect(res.text).to.contain('<meta property="og:description" content="my super description for pod 1" />') | ||
49 | }) | ||
50 | |||
51 | it('It should have valid Open Graph tags on the watch page with video uuid', async function () { | ||
52 | const res = await request(server.url) | ||
53 | .get('/videos/watch/' + server.video.uuid) | ||
54 | .expect(200) | ||
55 | |||
56 | expect(res.text).to.contain('<meta property="og:title" content="my super name for pod 1" />') | ||
57 | expect(res.text).to.contain('<meta property="og:description" content="my super description for pod 1" />') | ||
58 | }) | ||
59 | |||
60 | after(async function () { | ||
61 | process.kill(-server.app.pid) | ||
62 | |||
63 | // Keep the logs if the test failed | ||
64 | if (this['ok']) { | ||
65 | await flushTests() | ||
66 | } | ||
67 | }) | ||
68 | }) | ||