Merge pull request #660 from taigaio/e2e-suites

E2e suites
stable
David Barragán Merino 2015-10-08 10:51:58 +02:00
commit 6ceacb9e25
8 changed files with 68 additions and 15 deletions

View File

@ -3,6 +3,7 @@ require("babel/register")({
}); });
var utils = require('./e2e/utils'); var utils = require('./e2e/utils');
var HtmlReporter = require('protractor-html-screenshot-reporter');
exports.config = { exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub', seleniumAddress: 'http://localhost:4444/wd/hub',
@ -20,9 +21,20 @@ exports.config = {
// 'browserName': 'firefox' // 'browserName': 'firefox'
// }, // },
suites: { suites: {
auth: 'e2e/auth/*.e2e.js', auth: "e2e/auth/*.e2e.js",
full: 'e2e/full/**/*.e2e.js', public: "e2e/public/**/*.e2e.js",
public: 'e2e/public/**/*.e2e.js' wiki: "e2e/full/wiki.e2e.js",
admin: "e2e/full/admin/**/*.e2e.js",
issues: "e2e/full/issues/*.e2e.js",
tasks: "e2e/full/tasks/*.e2e.js",
userProfile: "e2e/full/user-profile/*.e2e.js",
userStories: "e2e/full/user-stories/*.e2e.js",
backlog: "e2e/full/backlog.e2e.js",
home: "e2e/full/home.e2e.js",
kanban: "e2e/full/kanban.e2e.js",
projectHome: "e2e/full/project-home.e2e.js",
search: "e2e/full/search.e2e.js",
team: "e2e/full/team.e2e.js"
}, },
onPrepare: function() { onPrepare: function() {
browser.driver.manage().window().maximize(); browser.driver.manage().window().maximize();
@ -54,6 +66,9 @@ exports.config = {
return browser.getCapabilities(); return browser.getCapabilities();
}).then(function (cap) { }).then(function (cap) {
browser.browserName = cap.caps_.browserName; browser.browserName = cap.caps_.browserName;
})
.then(function() {
return browser.get(browser.params.glob.host);
}); });
} }
} }

View File

@ -31,12 +31,16 @@ describe('admin - roles', function() {
await adminPermissionsHelper.editRole('2'); await adminPermissionsHelper.editRole('2');
expect(utils.notifications.success.open()).to.be.eventually.true; expect(utils.notifications.success.open()).to.be.eventually.true;
await utils.notifications.success.close();
}); });
it('toggle, estimation role', async function() { it('toggle, estimation role', async function() {
adminPermissionsHelper.toggleEstimationRole(); adminPermissionsHelper.toggleEstimationRole();
expect(utils.notifications.success.open()).to.be.eventually.true; expect(utils.notifications.success.open()).to.be.eventually.true;
await utils.notifications.success.close();
}); });
it('toggle, category permission', async function() { it('toggle, category permission', async function() {

View File

@ -1,6 +1,6 @@
var utils = require('../utils'); var utils = require('../../utils');
var issuesHelper = require('../helpers').issues; var issuesHelper = require('../../helpers').issues;
var commonHelper = require('../helpers').common; var commonHelper = require('../../helpers').common;
var chai = require('chai'); var chai = require('chai');
var chaiAsPromised = require('chai-as-promised'); var chaiAsPromised = require('chai-as-promised');

View File

@ -1,7 +1,7 @@
var utils = require('../utils'); var utils = require('../../utils');
var backlogHelper = require('../helpers').backlog; var backlogHelper = require('../../helpers').backlog;
var taskboardHelper = require('../helpers').taskboard; var taskboardHelper = require('../../helpers').taskboard;
var commonHelper = require('../helpers').common; var commonHelper = require('../../helpers').common;
var chai = require('chai'); var chai = require('chai');
var chaiAsPromised = require('chai-as-promised'); var chaiAsPromised = require('chai-as-promised');

View File

@ -8,10 +8,10 @@ chai.use(chaiAsPromised);
var expect = chai.expect; var expect = chai.expect;
describe('leaving project', function(){ describe('leaving project', function(){
before(async function(){ before(async function(){
browser.get(browser.params.glob.host + 'project/project-4/team'); browser.get(browser.params.glob.host + 'project/project-4/team');
await utils.common.waitLoader(); await utils.common.waitLoader();
}); });
it('leave project', async function(){ it('leave project', async function(){
teamHelper.team().leave(); teamHelper.team().leave();

View File

@ -21,6 +21,8 @@ describe('email notification', function() {
row.$$('label').get(0).click(); row.$$('label').get(0).click();
expect(utils.notifications.success.open()).to.be.eventually.equal(true); expect(utils.notifications.success.open()).to.be.eventually.equal(true);
await utils.notifications.success.close();
}); });
it('change project notification to no', async function() { it('change project notification to no', async function() {
@ -29,6 +31,8 @@ describe('email notification', function() {
row.$$('label').get(2).click(); row.$$('label').get(2).click();
expect(utils.notifications.success.open()).to.be.eventually.equal(true); expect(utils.notifications.success.open()).to.be.eventually.equal(true);
await utils.notifications.success.close();
}); });
it('change project notification to only', async function() { it('change project notification to only', async function() {
@ -37,5 +41,7 @@ describe('email notification', function() {
row.$$('label').get(1).click(); row.$$('label').get(1).click();
expect(utils.notifications.success.open()).to.be.eventually.equal(true); expect(utils.notifications.success.open()).to.be.eventually.equal(true);
await utils.notifications.success.close();
}); });
}); });

View File

@ -17,7 +17,8 @@
}, },
"scripts": { "scripts": {
"scss-lint": "gulp scss-lint --fail", "scss-lint": "gulp scss-lint --fail",
"test": "./node_modules/karma/bin/karma start" "test": "./node_modules/karma/bin/karma start",
"e2e": "./run-e2e.sh"
}, },
"devDependencies": { "devDependencies": {
"angular-mocks": "^1.5.0-beta.0", "angular-mocks": "^1.5.0-beta.0",

27
run-e2e.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
suites=(
'auth'
'public'
'wiki'
'admin'
'issues'
'tasks'
'userProfile'
'userStories'
'backlog'
'home'
'kanban'
'projectHome'
'search'
'team'
)
pg_dump -c taiga > tmp/taiga.sql
for i in ${suites[@]}
do
protractor conf.e2e.js --suite=$i
psql taiga < tmp/taiga.sql > /dev/null
done