aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/client.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests/client.ts')
-rw-r--r--server/tests/client.ts68
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
3import 'mocha'
4import * as chai from 'chai'
5import * as request from 'supertest'
6const expect = chai.expect
7
8import {
9 ServerInfo,
10 flushTests,
11 runServer,
12 loginAndGetAccessToken,
13 uploadVideo,
14 getVideosList
15} from './utils'
16
17describe('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})