2020-01-31 10:56:52 -05:00
|
|
|
/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
|
2019-07-26 08:44:50 -04:00
|
|
|
|
|
|
|
import 'mocha'
|
2021-07-07 04:33:49 -04:00
|
|
|
import * as chai from 'chai'
|
|
|
|
import { PluginsCommand, setAccessTokensToServers } from '../../../shared/extra-utils'
|
2020-01-31 10:56:52 -05:00
|
|
|
import { cleanupTests, flushAndRunServer, ServerInfo } from '../../../shared/extra-utils/server/servers'
|
2019-07-26 08:44:50 -04:00
|
|
|
|
|
|
|
const expect = chai.expect
|
|
|
|
|
|
|
|
describe('Test plugin translations', function () {
|
|
|
|
let server: ServerInfo
|
2021-07-07 04:33:49 -04:00
|
|
|
let command: PluginsCommand
|
2019-07-26 08:44:50 -04:00
|
|
|
|
|
|
|
before(async function () {
|
|
|
|
this.timeout(30000)
|
|
|
|
|
|
|
|
server = await flushAndRunServer(1)
|
|
|
|
await setAccessTokensToServers([ server ])
|
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
command = server.pluginsCommand
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
await command.install({ path: PluginsCommand.getPluginTestPath() })
|
|
|
|
await command.install({ path: PluginsCommand.getPluginTestPath('-filter-translations') })
|
2019-07-26 08:44:50 -04:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Should not have translations for locale pt', async function () {
|
2021-07-07 04:33:49 -04:00
|
|
|
const body = await command.getTranslations({ locale: 'pt' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
expect(body).to.deep.equal({})
|
2019-07-26 08:44:50 -04:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Should have translations for locale fr', async function () {
|
2021-07-07 04:33:49 -04:00
|
|
|
const body = await command.getTranslations({ locale: 'fr-FR' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
expect(body).to.deep.equal({
|
2019-07-26 08:44:50 -04:00
|
|
|
'peertube-plugin-test': {
|
2020-01-31 10:56:52 -05:00
|
|
|
Hi: 'Coucou'
|
2019-07-26 08:44:50 -04:00
|
|
|
},
|
2021-06-17 10:02:38 -04:00
|
|
|
'peertube-plugin-test-filter-translations': {
|
2019-07-26 08:44:50 -04:00
|
|
|
'Hello world': 'Bonjour le monde'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Should have translations of locale it', async function () {
|
2021-07-07 04:33:49 -04:00
|
|
|
const body = await command.getTranslations({ locale: 'it-IT' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
expect(body).to.deep.equal({
|
2021-06-17 10:02:38 -04:00
|
|
|
'peertube-plugin-test-filter-translations': {
|
2019-07-26 08:44:50 -04:00
|
|
|
'Hello world': 'Ciao, mondo!'
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Should remove the plugin and remove the locales', async function () {
|
2021-07-07 04:33:49 -04:00
|
|
|
await command.uninstall({ npmName: 'peertube-plugin-test-filter-translations' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
|
|
|
{
|
2021-07-07 04:33:49 -04:00
|
|
|
const body = await command.getTranslations({ locale: 'fr-FR' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
expect(body).to.deep.equal({
|
2019-07-26 08:44:50 -04:00
|
|
|
'peertube-plugin-test': {
|
2020-01-31 10:56:52 -05:00
|
|
|
Hi: 'Coucou'
|
2019-07-26 08:44:50 -04:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
2021-07-07 04:33:49 -04:00
|
|
|
const body = await command.getTranslations({ locale: 'it-IT' })
|
2019-07-26 08:44:50 -04:00
|
|
|
|
2021-07-07 04:33:49 -04:00
|
|
|
expect(body).to.deep.equal({})
|
2019-07-26 08:44:50 -04:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
after(async function () {
|
|
|
|
await cleanupTests([ server ])
|
|
|
|
})
|
|
|
|
})
|