-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import 'mocha'
import * as chai from 'chai'
cleanupTests,
closeAllSequelize,
flushAndRunServer,
- getConfig, getMyUserInformation, getPluginPackageJSON,
+ getConfig,
+ getMyUserInformation,
getPlugin,
+ getPluginPackageJSON,
getPluginRegisteredSettings,
getPluginsCSS,
- installPlugin, killallServers,
+ getPublicSettings,
+ installPlugin,
+ killallServers,
listAvailablePlugins,
- listPlugins, reRunServer,
+ listPlugins,
+ reRunServer,
ServerInfo,
setAccessTokensToServers,
- setPluginVersion, uninstallPlugin,
- updateCustomSubConfig, updateMyUser, updatePluginPackageJSON, updatePlugin,
+ setPluginVersion,
+ uninstallPlugin,
+ updateCustomSubConfig,
+ updateMyUser,
+ updatePlugin,
+ updatePluginPackageJSON,
updatePluginSettings,
- wait
+ wait,
+ waitUntilLog
} from '../../../../shared/extra-utils'
import { PluginType } from '../../../../shared/models/plugins/plugin.type'
import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model'
import { User } from '../../../../shared/models/users'
import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model'
import { RegisteredServerSettings } from '../../../../shared/models/plugins/register-server-setting.model'
+import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting'
const expect = chai.expect
expect(res2.body.total).to.be.at.least(2)
expect(data2).to.have.lengthOf(2)
- expect(data1[0].npmName).to.not.equal(data2[ 0 ].npmName)
+ expect(data1[0].npmName).to.not.equal(data2[0].npmName)
}
{
it('Should have the correct global css', async function () {
const res = await getPluginsCSS(server.url)
- expect(res.text).to.contain('--mainBackgroundColor')
+ expect(res.text).to.contain('background-color: red')
})
it('Should have the plugin loaded in the configuration', async function () {
npmName: 'peertube-plugin-hello-world'
})
- const settings = (res.body as RegisteredServerSettings).settings
+ const registeredSettings = (res.body as RegisteredServerSettings).registeredSettings
- expect(settings).to.have.length.at.least(1)
+ expect(registeredSettings).to.have.length.at.least(1)
- const adminNameSettings = settings.find(s => s.name === 'admin-name')
+ const adminNameSettings = registeredSettings.find(s => s.name === 'admin-name')
expect(adminNameSettings).to.not.be.undefined
})
+ it('Should get public settings', async function () {
+ const res = await getPublicSettings({ url: server.url, npmName: 'peertube-plugin-hello-world' })
+
+ const publicSettings = (res.body as PublicServerSetting).publicSettings
+
+ expect(Object.keys(publicSettings)).to.have.lengthOf(1)
+ expect(Object.keys(publicSettings)).to.deep.equal([ 'user-name' ])
+ expect(publicSettings['user-name']).to.be.null
+ })
+
it('Should update the settings', async function () {
const settings = {
'admin-name': 'Cid'
})
})
+ it('Should have watched settings changes', async function () {
+ this.timeout(10000)
+
+ await waitUntilLog(server, 'Settings changed!')
+ })
+
it('Should get a plugin and a theme', async function () {
{
const res = await getPlugin({