etherpad-lite/src/tests/frontend/specs/admintroubleshooting.js

48 lines
1.5 KiB
JavaScript
Raw Normal View History

'use strict';
describe('Admin Troupbleshooting page', function () {
before(async function () {
let success = false;
$.ajax({
url: `${location.protocol}//admin:changeme@${location.hostname}:${location.port}/admin`,
type: 'GET',
success: () => success = true,
});
await helper.waitForPromise(() => success === true);
});
// create a new pad before each test run
beforeEach(async function () {
helper.newAdmin('plugins/info');
await helper.waitForPromise(
() => helper.admin$ && helper.admin$('.menu').find('li').length >= 3);
});
it('Shows Troubleshooting page Manager', async function () {
helper.admin$('a[data-l10n-id="admin_plugins_info"]')[0].click();
});
it('Shows a version number', async function () {
const content = helper.admin$('span[data-l10n-id="admin_plugins_info.version_number"]')
.parent().text();
const version = content.split(': ')[1].split('.');
if (version.length !== 3) {
throw new Error('Not displaying a semver version number');
}
});
it('Lists installed parts', async function () {
const parts = helper.admin$('pre')[1];
if (parts.textContent.indexOf('ep_etherpad-lite/adminsettings') === -1) {
throw new Error('No admin setting part being displayed...');
}
});
it('Lists installed hooks', async function () {
const parts = helper.admin$('dt');
if (parts.length <= 20) {
throw new Error('Not enough hooks being displayed...');
}
});
});