Adding team tests

stable
Alejandro Alonso 2015-07-23 08:13:52 +02:00 committed by Juanfran
parent 4ad1c4af07
commit ccf7f67a53
2 changed files with 112 additions and 0 deletions

57
e2e/full/team.e2e.js Normal file
View File

@ -0,0 +1,57 @@
var utils = require('../utils');
var teamHelper = require('../helpers').team;
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
describe('leaving project', function(){
before(async function(){
browser.get('http://localhost:9001/project/project-4/team');
await utils.common.waitLoader();
});
it('leave project', async function(){
teamHelper.team().leave();
await utils.lightbox.confirm.ok();
await utils.common.takeScreenshot("team", "after-leaving");
});
})
describe('team', function() {
before(async function(){
browser.get('http://localhost:9001/project/project-5/team');
await utils.common.waitLoader();
});
it('screenshot', async function() {
await utils.common.takeScreenshot("team", "team");
});
it('team filled', async function() {
let total = await teamHelper.team().count();
expect(total).to.be.equal(10);
});
it('search username', async function() {
let firstMemberName = await teamHelper.team().firstMember().getText();
teamHelper.filters().searchText(firstMemberName);
let total = await teamHelper.team().count();
expect(total).to.be.equal(1);
await utils.common.takeScreenshot("team", "searching-by-name");
});
it('filter role', async function(){
teamHelper.filters().clearText();
let total = await teamHelper.team().count();
let firstRole = await teamHelper.team().firstRole();
let roleName = await firstRole.getText();
teamHelper.filters().filterByRole(roleName);
let newTotal = await teamHelper.team().count();
expect(newTotal).to.be.below(total);
expect(newTotal).to.be.least(1);
await utils.common.takeScreenshot("team", "filtering-by-role");
});
})

View File

@ -0,0 +1,55 @@
var utils = require('../utils');
var helper = module.exports;
helper.team = function() {
let el = $('.team');
let obj = {
el: el,
firstRole: function() {
return el.$$('section[tg-team-members] .avatar span').first();
},
firstMember: function() {
return el.$$('section[tg-team-members] a.name').first();
},
count: function() {
return el.$$('section[tg-team-members] .row.member').count();
},
leave: function() {
el.$(".hero .username a").click();
}
};
return obj;
};
helper.filters = function() {
let el = $('.team-filters-inner');
let obj = {
el: el,
filterByRole: function(roleName) {
let roles = el.$$("ul li a");
roles.filter(function(role) {
return role.getText().then(function(text) {
return text.toLowerCase() === roleName.toLowerCase();
});
}).click();
},
clearText: function(text) {
el.$('input[ng-model="filtersQ"]').clear();
},
searchText: function(text) {
el.$('input[ng-model="filtersQ"]').sendKeys(text);
}
};
return obj;
};