]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/server/config.ts
Add stats route
[github/Chocobozzz/PeerTube.git] / server / tests / api / server / config.ts
index 8c1389e7f5c7d953bd342ec4bd68a618a4fed75f..3d90580d8782b509963e97c04b64219d2cc9ca93 100644 (file)
@@ -2,7 +2,9 @@
 
 import 'mocha'
 import * as chai from 'chai'
-import { deleteCustomConfig, killallServers, reRunServer } from '../../utils'
+import { About } from '../../../../shared/models/server/about.model'
+import { CustomConfig } from '../../../../shared/models/server/custom-config.model'
+import { deleteCustomConfig, getAbout, killallServers, reRunServer } from '../../utils'
 const expect = chai.expect
 
 import {
@@ -16,7 +18,7 @@ describe('Test config', function () {
   let server = null
 
   before(async function () {
-    this.timeout(10000)
+    this.timeout(30000)
 
     await flushTests()
     server = await runServer(1)
@@ -47,8 +49,13 @@ describe('Test config', function () {
 
   it('Should get the customized configuration', async function () {
     const res = await getCustomConfig(server.url, server.accessToken)
-    const data = res.body
+    const data = res.body as CustomConfig
 
+    expect(data.instance.name).to.equal('PeerTube')
+    expect(data.instance.description).to.equal('Welcome to this PeerTube instance!')
+    expect(data.instance.terms).to.equal('No terms for now.')
+    expect(data.instance.customizations.css).to.be.empty
+    expect(data.instance.customizations.javascript).to.be.empty
     expect(data.cache.previews.size).to.equal(1)
     expect(data.signup.enabled).to.be.true
     expect(data.signup.limit).to.equal(4)
@@ -65,6 +72,15 @@ describe('Test config', function () {
 
   it('Should update the customized configuration', async function () {
     const newCustomConfig = {
+      instance: {
+        name: 'PeerTube updated',
+        description: 'my super description',
+        terms: 'my super terms',
+        customizations: {
+          javascript: 'alert("coucou")',
+          css: 'body { background-color: red; }'
+        }
+      },
       cache: {
         previews: {
           size: 2
@@ -97,6 +113,11 @@ describe('Test config', function () {
     const res = await getCustomConfig(server.url, server.accessToken)
     const data = res.body
 
+    expect(data.instance.name).to.equal('PeerTube updated')
+    expect(data.instance.description).to.equal('my super description')
+    expect(data.instance.terms).to.equal('my super terms')
+    expect(data.instance.customizations.javascript).to.equal('alert("coucou")')
+    expect(data.instance.customizations.css).to.equal('body { background-color: red; }')
     expect(data.cache.previews.size).to.equal(2)
     expect(data.signup.enabled).to.be.false
     expect(data.signup.limit).to.equal(5)
@@ -112,6 +133,8 @@ describe('Test config', function () {
   })
 
   it('Should have the configuration updated after a restart', async function () {
+    this.timeout(10000)
+
     killallServers([ server ])
 
     await reRunServer(server)
@@ -119,6 +142,11 @@ describe('Test config', function () {
     const res = await getCustomConfig(server.url, server.accessToken)
     const data = res.body
 
+    expect(data.instance.name).to.equal('PeerTube updated')
+    expect(data.instance.description).to.equal('my super description')
+    expect(data.instance.terms).to.equal('my super terms')
+    expect(data.instance.customizations.javascript).to.equal('alert("coucou")')
+    expect(data.instance.customizations.css).to.equal('body { background-color: red; }')
     expect(data.cache.previews.size).to.equal(2)
     expect(data.signup.enabled).to.be.false
     expect(data.signup.limit).to.equal(5)
@@ -133,12 +161,28 @@ describe('Test config', function () {
     expect(data.transcoding.resolutions['1080p']).to.be.false
   })
 
+  it('Should fetch the about information', async function () {
+    const res = await getAbout(server.url)
+    const data: About = res.body
+
+    expect(data.instance.name).to.equal('PeerTube updated')
+    expect(data.instance.description).to.equal('my super description')
+    expect(data.instance.terms).to.equal('my super terms')
+  })
+
   it('Should remove the custom configuration', async function () {
+    this.timeout(10000)
+
     await deleteCustomConfig(server.url, server.accessToken)
 
     const res = await getCustomConfig(server.url, server.accessToken)
     const data = res.body
 
+    expect(data.instance.name).to.equal('PeerTube')
+    expect(data.instance.description).to.equal('Welcome to this PeerTube instance!')
+    expect(data.instance.terms).to.equal('No terms for now.')
+    expect(data.instance.customizations.css).to.be.empty
+    expect(data.instance.customizations.javascript).to.be.empty
     expect(data.cache.previews.size).to.equal(1)
     expect(data.signup.enabled).to.be.true
     expect(data.signup.limit).to.equal(4)