--- /dev/null
+/* eslint-disable no-unused-expressions */
+
+'use strict'
+
+const chai = require('chai')
+const expect = chai.expect
+const request = require('supertest')
+const series = require('async/series')
+
+const loginUtils = require('./utils/login')
+const serversUtils = require('./utils/servers')
+const videosUtils = require('./utils/videos')
+
+describe('Test a client controllers', function () {
+ let server = null
+
+ before(function (done) {
+ this.timeout(120000)
+
+ series([
+ function (next) {
+ serversUtils.flushTests(next)
+ },
+ function (next) {
+ serversUtils.runServer(1, function (server1) {
+ server = server1
+ next()
+ })
+ },
+ function (next) {
+ loginUtils.loginAndGetAccessToken(server, function (err, token) {
+ if (err) throw err
+ server.accessToken = token
+ next()
+ })
+ },
+ function (next) {
+ const videoAttributes = {
+ name: 'my super name for pod 1',
+ description: 'my super description for pod 1'
+ }
+ videosUtils.uploadVideo(server.url, server.accessToken, videoAttributes, next)
+ },
+ function (next) {
+ videosUtils.getVideosList(server.url, function (err, res) {
+ if (err) throw err
+
+ const videos = res.body.data
+
+ expect(videos.length).to.equal(1)
+
+ server.video = videos[0]
+
+ next()
+ })
+ }
+ ], done)
+ })
+
+ it('It should have valid opengraph tags on the watch page with video id', function (done) {
+ request(server.url)
+ .get('/videos/watch/' + server.video.id)
+ .expect(200, function (err, res) {
+ if (err) throw err
+
+ expect(res.text).to.contain('<meta property="og:title" content="my super name for pod 1" />')
+ expect(res.text).to.contain('<meta property="og:description" content="my super description for pod 1" />')
+
+ done()
+ })
+ })
+
+ it('It should have valid opengraph tags on the watch page with video uuid', function (done) {
+ request(server.url)
+ .get('/videos/watch/' + server.video.uuid)
+ .expect(200, function (err, res) {
+ if (err) throw err
+
+ expect(res.text).to.contain('<meta property="og:title" content="my super name for pod 1" />')
+ expect(res.text).to.contain('<meta property="og:description" content="my super description for pod 1" />')
+
+ done()
+ })
+ })
+
+ after(function (done) {
+ process.kill(-server.app.pid)
+
+ // Keep the logs if the test failed
+ if (this.ok) {
+ serversUtils.flushTests(done)
+ } else {
+ done()
+ }
+ })
+})