admin membership e2e
parent
72965ff818
commit
6c8b5a2e2f
|
@ -8,7 +8,8 @@ exports.config = {
|
|||
seleniumAddress: 'http://localhost:4444/wd/hub',
|
||||
framework: 'mocha',
|
||||
mochaOpts: {
|
||||
timeout: 30000
|
||||
timeout: 30000,
|
||||
compilers: 'js:babel/register'
|
||||
},
|
||||
// capabilities: {
|
||||
// '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);
|
||||
var expect = chai.expect;
|
||||
|
||||
describe.only('attributes - types', function() {
|
||||
describe('attributes - types', function() {
|
||||
before(async function(){
|
||||
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.adminAttributes = require("./admin-attributes-helper");
|
||||
module.exports.common = require("./common-helper");
|
||||
module.exports.adminMemberships = require("./admin-memberships");
|
||||
|
|
Loading…
Reference in New Issue