admin membership e2e
parent
72965ff818
commit
6c8b5a2e2f
|
@ -8,7 +8,8 @@ exports.config = {
|
||||||
seleniumAddress: 'http://localhost:4444/wd/hub',
|
seleniumAddress: 'http://localhost:4444/wd/hub',
|
||||||
framework: 'mocha',
|
framework: 'mocha',
|
||||||
mochaOpts: {
|
mochaOpts: {
|
||||||
timeout: 30000
|
timeout: 30000,
|
||||||
|
compilers: 'js:babel/register'
|
||||||
},
|
},
|
||||||
// capabilities: {
|
// capabilities: {
|
||||||
// 'browserName': 'firefox'
|
// 'browserName': 'firefox'
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
var utils = require('../../../utils');
|
||||||
|
|
||||||
|
var adminMembershipsHelper = require('../../../helpers').adminMemberships;
|
||||||
|
|
||||||
|
var chai = require('chai');
|
||||||
|
var chaiAsPromised = require('chai-as-promised');
|
||||||
|
|
||||||
|
chai.use(chaiAsPromised);
|
||||||
|
var expect = chai.expect;
|
||||||
|
|
||||||
|
describe('admin - members', function() {
|
||||||
|
before(async function(){
|
||||||
|
browser.get('http://localhost:9001/project/project-0/admin/memberships');
|
||||||
|
|
||||||
|
await utils.common.waitLoader();
|
||||||
|
|
||||||
|
utils.common.takeScreenshot('memberships', 'memberships');
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('new member', async function() {
|
||||||
|
let initMembersCount = 0;
|
||||||
|
let newMemberLightbox = null;
|
||||||
|
|
||||||
|
before(async function() {
|
||||||
|
initMembersCount = await adminMembershipsHelper.getMembers().count();
|
||||||
|
|
||||||
|
newMemberLightbox = adminMembershipsHelper.getNewMemberLightbox();
|
||||||
|
adminMembershipsHelper.openNewMemberLightbox();
|
||||||
|
|
||||||
|
await newMemberLightbox.waitOpen();
|
||||||
|
utils.common.takeScreenshot('memberships', 'new-member');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('add members row', async function() {
|
||||||
|
newMemberLightbox.newEmail('xxx' + new Date().getTime() + '@xx.es');
|
||||||
|
newMemberLightbox.newEmail('xxx' + new Date().getTime() + '@xx.es');
|
||||||
|
newMemberLightbox.newEmail('xxx' + new Date().getTime() + '@xx.es');
|
||||||
|
|
||||||
|
let membersRows = await newMemberLightbox.getRows().count();
|
||||||
|
|
||||||
|
expect(membersRows).to.be.equal(3 + 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('delete members row', async function() {
|
||||||
|
newMemberLightbox.deleteRow(2);
|
||||||
|
|
||||||
|
let membersRows = await newMemberLightbox.getRows().count();
|
||||||
|
|
||||||
|
expect(membersRows).to.be.equal(2 + 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('submit', async function() {
|
||||||
|
newMemberLightbox.submit();
|
||||||
|
|
||||||
|
await newMemberLightbox.waitClose();
|
||||||
|
|
||||||
|
let members = adminMembershipsHelper.getMembers();
|
||||||
|
let membersCount = await members.count();
|
||||||
|
|
||||||
|
expect(membersCount).to.be.equal(initMembersCount + 2);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('the last two should be pending', async function() {
|
||||||
|
let members = adminMembershipsHelper.getMembers();
|
||||||
|
let membersCount = await members.count();
|
||||||
|
|
||||||
|
let lastMember1 = members.get(membersCount - 1);
|
||||||
|
let lastMember2 = members.get(membersCount - 2);
|
||||||
|
|
||||||
|
let active1 = await adminMembershipsHelper.isActive(lastMember1);
|
||||||
|
let active2 = await adminMembershipsHelper.isActive(lastMember2);
|
||||||
|
|
||||||
|
expect(active1).to.be.false;
|
||||||
|
expect(active2).to.be.false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('delete member', async function() {
|
||||||
|
let initMembersCount = await adminMembershipsHelper.getMembers().count();
|
||||||
|
|
||||||
|
let member = adminMembershipsHelper.getMembers().last();
|
||||||
|
|
||||||
|
adminMembershipsHelper.delete(member);
|
||||||
|
|
||||||
|
utils.common.takeScreenshot('memberships', 'delete-member-lb');
|
||||||
|
|
||||||
|
await utils.lightbox.confirm.ok();
|
||||||
|
|
||||||
|
let membersCount = await adminMembershipsHelper.getMembers().count();
|
||||||
|
|
||||||
|
expect(membersCount).to.be.equal(initMembersCount - 1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('change role', async function() {
|
||||||
|
let member = adminMembershipsHelper.getMembers().last();
|
||||||
|
|
||||||
|
adminMembershipsHelper.setRole(member, 3);
|
||||||
|
|
||||||
|
expect(utils.notifications.success.open()).to.be.eventually.true;
|
||||||
|
});
|
||||||
|
|
||||||
|
it('resend invitation', async function() {
|
||||||
|
let member = adminMembershipsHelper.getMembers().last();
|
||||||
|
|
||||||
|
adminMembershipsHelper.sendInvitation();
|
||||||
|
|
||||||
|
expect(utils.notifications.success.open()).to.be.eventually.true;
|
||||||
|
});
|
||||||
|
|
||||||
|
it('toggle admin', async function() {
|
||||||
|
let member = adminMembershipsHelper.getMembers().last();
|
||||||
|
let isAdmin = await adminMembershipsHelper.isAdmin(member);
|
||||||
|
|
||||||
|
if (isAdmin) {
|
||||||
|
adminMembershipsHelper.toggleAdmin(member);
|
||||||
|
|
||||||
|
await browser.waitForAngular();
|
||||||
|
isAdmin = await adminMembershipsHelper.isAdmin(member);
|
||||||
|
|
||||||
|
expect(isAdmin).not.to.be.true;
|
||||||
|
}
|
||||||
|
|
||||||
|
adminMembershipsHelper.toggleAdmin(member);
|
||||||
|
|
||||||
|
await browser.waitForAngular();
|
||||||
|
|
||||||
|
isAdmin = await adminMembershipsHelper.isAdmin(member);
|
||||||
|
|
||||||
|
expect(isAdmin).to.be.true;
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
|
@ -8,7 +8,7 @@ var chaiAsPromised = require('chai-as-promised');
|
||||||
chai.use(chaiAsPromised);
|
chai.use(chaiAsPromised);
|
||||||
var expect = chai.expect;
|
var expect = chai.expect;
|
||||||
|
|
||||||
describe.only('attributes - types', function() {
|
describe('attributes - types', function() {
|
||||||
before(async function(){
|
before(async function(){
|
||||||
browser.get('http://localhost:9001/project/project-0/admin/project-values/types');
|
browser.get('http://localhost:9001/project/project-0/admin/project-values/types');
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
var utils = require('../utils');
|
||||||
|
|
||||||
|
var helper = module.exports;
|
||||||
|
|
||||||
|
helper.openNewMemberLightbox = function() {
|
||||||
|
$('.header-with-actions .button-green').click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.getNewMemberLightbox = function() {
|
||||||
|
let el = $('div[tg-lb-create-members]');
|
||||||
|
|
||||||
|
let obj = {
|
||||||
|
el: el,
|
||||||
|
waitOpen: function() {
|
||||||
|
return utils.lightbox.open(el);
|
||||||
|
},
|
||||||
|
waitClose: function() {
|
||||||
|
return utils.lightbox.close(el);
|
||||||
|
},
|
||||||
|
newEmail: function(email) {
|
||||||
|
el.$$('input').last().sendKeys(email);
|
||||||
|
el.$('.add-fieldset').click();
|
||||||
|
},
|
||||||
|
getRows: function() {
|
||||||
|
return el.$$('.add-member-wrapper');
|
||||||
|
},
|
||||||
|
deleteRow: function(index) {
|
||||||
|
el.$$('.delete-fieldset').get(index).click();
|
||||||
|
},
|
||||||
|
submit: function() {
|
||||||
|
el.$('.submit-button').click();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.getMembers = function() {
|
||||||
|
return $$('.admin-membership-table .row');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.isActive = function(elm) {
|
||||||
|
return utils.common.hasClass(elm, 'active');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.delete = function(elm) {
|
||||||
|
elm.$('.delete').click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.isAdmin = async function(elm) {
|
||||||
|
let isAdmin = await elm.$('.row-admin input').getAttribute('checked');
|
||||||
|
|
||||||
|
return (isAdmin === 'true');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.toggleAdmin = function(elm) {
|
||||||
|
return elm.$('.row-admin input').click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.setRole = function(elm, index) {
|
||||||
|
return elm.$(`select option:nth-child(${index})`).click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.sendInvitation = function(elm) {
|
||||||
|
$$('.pending').first().click();
|
||||||
|
};
|
|
@ -8,3 +8,4 @@ module.exports.usDetail = require("./us-detail-helper");
|
||||||
module.exports.taskDetail = require("./task-detail-helper");
|
module.exports.taskDetail = require("./task-detail-helper");
|
||||||
module.exports.adminAttributes = require("./admin-attributes-helper");
|
module.exports.adminAttributes = require("./admin-attributes-helper");
|
||||||
module.exports.common = require("./common-helper");
|
module.exports.common = require("./common-helper");
|
||||||
|
module.exports.adminMemberships = require("./admin-memberships");
|
||||||
|
|
Loading…
Reference in New Issue