admin roles e2e

stable
Juanfran 2015-09-15 14:45:47 +02:00
parent 6c8b5a2e2f
commit 554685f34b
3 changed files with 140 additions and 0 deletions

View File

@ -0,0 +1,76 @@
var utils = require('../../../utils');
var adminPermissionsHelper = require('../../../helpers').adminPermissions;
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
describe('admin - roles', function() {
before(async function(){
browser.get('http://localhost:9001/project/project-0/admin/roles');
await utils.common.waitLoader();
utils.common.takeScreenshot('permissions', 'permissions');
});
it('new role', async function() {
let oldRolesCount = await adminPermissionsHelper.getRoles().count();
await adminPermissionsHelper.newRole('test');
let newRolesCount = await adminPermissionsHelper.getRoles().count();
expect(newRolesCount).to.be.equal(oldRolesCount + 1);
});
it('edit role name', async function() {
await adminPermissionsHelper.editRole('2');
expect(utils.notifications.success.open()).to.be.eventually.true;
});
it('toggle, estimation role', async function() {
adminPermissionsHelper.toggleEstimationRole();
expect(utils.notifications.success.open()).to.be.eventually.true;
});
it('toggle, category permission', async function() {
await adminPermissionsHelper.openCategory(0);
let permission = await adminPermissionsHelper.getPermissionsCategory(0).get(0);
let oldValue = await adminPermissionsHelper.getCategoryPermissionValue(permission);
adminPermissionsHelper.toggleCategoryPermission(permission);
await utils.notifications.success.open();
let newValue = await adminPermissionsHelper.getCategoryPermissionValue(permission);
expect(newValue).not.be.equal(oldValue);
await utils.notifications.success.close();
});
it('delete', async function() {
let oldRolesCount = await adminPermissionsHelper.getRoles().count();
adminPermissionsHelper.delete();
let el = $('.lightbox-ask-choice');
await utils.lightbox.open(el);
utils.common.takeScreenshot('attributes', 'delete-type');
el.$('.button-green').click();
let newRolesCount = await adminPermissionsHelper.getRoles().count();
expect(newRolesCount).to.be.equal(oldRolesCount - 1);
});
});

View File

@ -0,0 +1,63 @@
var utils = require('../utils');
var helper = module.exports;
helper.newRole = async function(roleName) {
$('div[tg-new-role] .add-button').click();
await $('div[tg-new-role] input').sendKeys(roleName);
await browser.actions().sendKeys(protractor.Key.ENTER).perform();
};
helper.getRoles = function() {
return $$('.admin-submenu-roles li');
};
helper.editRole = async function(roleName) {
let elm = $('div[tg-edit-role]');
let editButton = elm.$('.icon-edit');
await browser.actions()
.mouseMove(editButton)
.click()
.perform();
await elm.$('.edit-role input').sendKeys(roleName);
await elm.$('.save').click();
};
helper.toggleEstimationRole = function() {
$('.general-category input').click();
};
helper.openCategory = function(index) {
let category = $$('.category-config').get(index);
category.click();
let cateogoryItems = category.$('.category-items');
return utils.common.waitTransitionTime(cateogoryItems);
};
helper.getPermissionsCategory = function(index) {
let category = $$('.category-config').get(index);
return category.$$('.category-item');
};
helper.toggleCategoryPermission = function(elm) {
elm.$('input').click();
};
helper.getCategoryPermissionValue = async function(elm) {
let ok = await elm.$('input').getAttribute('checked');
return (ok === 'true');
};
helper.delete = function() {
$('.action-buttons .delete-role').click();
};

View File

@ -9,3 +9,4 @@ module.exports.taskDetail = require("./task-detail-helper");
module.exports.adminAttributes = require("./admin-attributes-helper");
module.exports.common = require("./common-helper");
module.exports.adminMemberships = require("./admin-memberships");
module.exports.adminPermissions = require("./admin-permissions");