taiga-front/e2e/suites/admin/project/modules.e2e.js

105 lines
2.7 KiB
JavaScript

var utils = require('../../../utils');
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
describe('modules', function() {
before(async function(){
browser.get(browser.params.glob.host + 'project/project-0/admin/project-profile/modules');
await utils.common.waitLoader();
utils.common.takeScreenshot('admin', 'project-modules');
// enable if the first module is disable
let functionalities = $$('.module');
let functionality = functionalities.get(0);
let active = await utils.common.hasClass(functionality, 'active');
if(!active) {
let input = functionality.$('.check input');
browser.actions()
.mouseMove(input)
.click()
.perform();
await utils.notifications.success.open();
await utils.notifications.success.close();
}
});
it('disable module', async function() {
let functionalities = $$('.module');
let functionality = functionalities.get(0);
let input = functionality.$('.check input');
browser.actions()
.mouseMove(input)
.click()
.perform();
let active = await utils.common.hasClass(functionality, 'active');
await utils.notifications.success.open();
expect(active).to.be.false;
await utils.notifications.success.close();
});
it('enable module', async function() {
let functionalities = $$('.module');
let functionality = functionalities.get(0);
let input = functionality.$('.check input');
browser.actions()
.mouseMove(input)
.click()
.perform();
let notificationSuccess = await utils.notifications.success.open();
expect(notificationSuccess).to.be.equal(true);
let active = await utils.common.hasClass(functionality, 'active');
expect(active).to.be.true;
await utils.notifications.success.close();
});
it('enable videoconference', async function() {
let functionality = $$('.module').get(5);
let input = functionality.$('.check input');
browser.actions()
.mouseMove(input)
.click()
.perform();
let videoconference = functionality.$$('select').get(0);
videoconference.$(`option:nth-child(2)`).click();
let salt = $('#videoconference-prefix');
salt.sendKeys('abccceee');
functionality.$('.save').click();
let notificationSuccess = await utils.notifications.success.open();
expect(notificationSuccess).to.be.equal(true);
});
});