From 60e472fde2c68f8f2f71365baaefd2da2f0b4298 Mon Sep 17 00:00:00 2001 From: Juanfran Date: Wed, 7 Oct 2015 14:55:17 +0200 Subject: [PATCH] e2e suites --- conf.e2e.js | 18 ++++++++++--- e2e/full/admin/permissions.e2e.js | 4 +++ e2e/full/{ => issues}/issues.e2e.js | 6 ++--- e2e/full/{ => tasks}/taskboard.e2e.js | 8 +++--- e2e/full/team.e2e.js | 8 +++--- .../user-profile/email-notification.e2e.js | 6 +++++ package.json | 3 ++- run-e2e.sh | 27 +++++++++++++++++++ 8 files changed, 65 insertions(+), 15 deletions(-) rename e2e/full/{ => issues}/issues.e2e.js (98%) rename e2e/full/{ => tasks}/taskboard.e2e.js (97%) create mode 100755 run-e2e.sh diff --git a/conf.e2e.js b/conf.e2e.js index 236a326d..3622aa4c 100644 --- a/conf.e2e.js +++ b/conf.e2e.js @@ -3,6 +3,7 @@ require("babel/register")({ }); var utils = require('./e2e/utils'); +var HtmlReporter = require('protractor-html-screenshot-reporter'); exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', @@ -20,9 +21,20 @@ exports.config = { // 'browserName': 'firefox' // }, suites: { - auth: 'e2e/auth/*.e2e.js', - full: 'e2e/full/**/*.e2e.js', - public: 'e2e/public/**/*.e2e.js' + auth: "e2e/auth/*.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() { browser.driver.manage().window().maximize(); diff --git a/e2e/full/admin/permissions.e2e.js b/e2e/full/admin/permissions.e2e.js index 10ab8b9a..c1416f18 100644 --- a/e2e/full/admin/permissions.e2e.js +++ b/e2e/full/admin/permissions.e2e.js @@ -31,12 +31,16 @@ describe('admin - roles', function() { await adminPermissionsHelper.editRole('2'); expect(utils.notifications.success.open()).to.be.eventually.true; + + await utils.notifications.success.close(); }); it('toggle, estimation role', async function() { adminPermissionsHelper.toggleEstimationRole(); expect(utils.notifications.success.open()).to.be.eventually.true; + + await utils.notifications.success.close(); }); it('toggle, category permission', async function() { diff --git a/e2e/full/issues.e2e.js b/e2e/full/issues/issues.e2e.js similarity index 98% rename from e2e/full/issues.e2e.js rename to e2e/full/issues/issues.e2e.js index 228eb6c8..199e1b1f 100644 --- a/e2e/full/issues.e2e.js +++ b/e2e/full/issues/issues.e2e.js @@ -1,6 +1,6 @@ -var utils = require('../utils'); -var issuesHelper = require('../helpers').issues; -var commonHelper = require('../helpers').common; +var utils = require('../../utils'); +var issuesHelper = require('../../helpers').issues; +var commonHelper = require('../../helpers').common; var chai = require('chai'); var chaiAsPromised = require('chai-as-promised'); diff --git a/e2e/full/taskboard.e2e.js b/e2e/full/tasks/taskboard.e2e.js similarity index 97% rename from e2e/full/taskboard.e2e.js rename to e2e/full/tasks/taskboard.e2e.js index f7a57a27..e7c94493 100644 --- a/e2e/full/taskboard.e2e.js +++ b/e2e/full/tasks/taskboard.e2e.js @@ -1,7 +1,7 @@ -var utils = require('../utils'); -var backlogHelper = require('../helpers').backlog; -var taskboardHelper = require('../helpers').taskboard; -var commonHelper = require('../helpers').common; +var utils = require('../../utils'); +var backlogHelper = require('../../helpers').backlog; +var taskboardHelper = require('../../helpers').taskboard; +var commonHelper = require('../../helpers').common; var chai = require('chai'); var chaiAsPromised = require('chai-as-promised'); diff --git a/e2e/full/team.e2e.js b/e2e/full/team.e2e.js index 8cf77a2c..64e12039 100644 --- a/e2e/full/team.e2e.js +++ b/e2e/full/team.e2e.js @@ -8,10 +8,10 @@ chai.use(chaiAsPromised); var expect = chai.expect; describe('leaving project', function(){ - before(async function(){ - browser.get(browser.params.glob.host + 'project/project-4/team'); - await utils.common.waitLoader(); - }); + before(async function(){ + browser.get(browser.params.glob.host + 'project/project-4/team'); + await utils.common.waitLoader(); + }); it('leave project', async function(){ teamHelper.team().leave(); diff --git a/e2e/full/user-profile/email-notification.e2e.js b/e2e/full/user-profile/email-notification.e2e.js index 9fbc06ab..d97620db 100644 --- a/e2e/full/user-profile/email-notification.e2e.js +++ b/e2e/full/user-profile/email-notification.e2e.js @@ -21,6 +21,8 @@ describe('email notification', function() { row.$$('label').get(0).click(); expect(utils.notifications.success.open()).to.be.eventually.equal(true); + + await utils.notifications.success.close(); }); it('change project notification to no', async function() { @@ -29,6 +31,8 @@ describe('email notification', function() { row.$$('label').get(2).click(); expect(utils.notifications.success.open()).to.be.eventually.equal(true); + + await utils.notifications.success.close(); }); it('change project notification to only', async function() { @@ -37,5 +41,7 @@ describe('email notification', function() { row.$$('label').get(1).click(); expect(utils.notifications.success.open()).to.be.eventually.equal(true); + + await utils.notifications.success.close(); }); }); diff --git a/package.json b/package.json index df299e15..f6a1e603 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ }, "scripts": { "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": { "angular-mocks": "^1.5.0-beta.0", diff --git a/run-e2e.sh b/run-e2e.sh new file mode 100755 index 00000000..4780fe68 --- /dev/null +++ b/run-e2e.sh @@ -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