97 lines
2.5 KiB
JavaScript
97 lines
2.5 KiB
JavaScript
/* 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()
|
|
}
|
|
})
|
|
})
|