From d4e9b9cc089b276e008552c3d5bf048d43941af2 Mon Sep 17 00:00:00 2001 From: Juanfran Date: Thu, 17 Sep 2015 14:40:15 +0200 Subject: [PATCH] create - delete project, e2e --- e2e/full/admin/project/create-delete.e2e.js | 67 +++++++++++++++++++++ e2e/helpers/create-project-helper.js | 50 +++++++++++++++ e2e/helpers/index.js | 1 + 3 files changed, 118 insertions(+) create mode 100644 e2e/full/admin/project/create-delete.e2e.js create mode 100644 e2e/helpers/create-project-helper.js diff --git a/e2e/full/admin/project/create-delete.e2e.js b/e2e/full/admin/project/create-delete.e2e.js new file mode 100644 index 00000000..1b053f6a --- /dev/null +++ b/e2e/full/admin/project/create-delete.e2e.js @@ -0,0 +1,67 @@ +var utils = require('../../../utils'); +var createProject = require('../../../helpers').createProject; + +var chai = require('chai'); +var chaiAsPromised = require('chai-as-promised'); + +chai.use(chaiAsPromised); +var expect = chai.expect; + +describe('create-delete project', function() { + before(async function(){ + browser.get('http://localhost:9001/projects/'); + + await utils.common.waitLoader(); + }); + + let lb; + + before(async function() { + lb = createProject.createProjectLightbox(); + + createProject.openWizard(); + + await lb.waitOpen(); + }); + + it('create - step 1', async function() { + utils.common.takeScreenshot('project-wizard', 'step1'); + + await lb.next(); + }); + + it('create - step 2 errors', async function() { + utils.common.takeScreenshot('project-wizard', 'step2'); + + await lb.submit(); + + utils.common.takeScreenshot('project-wizard', 'step2-error'); + + let errors = await lb.errors().count(); + + expect(errors).to.be.equal(2); + }); + + it('create - step 2', async function() { + lb.name().sendKeys('aaa'); + lb.description().sendKeys('bbb'); + + await lb.submit(); + + expect(utils.notifications.success.open()).to.be.eventually.true; + }); + + it('delete', async function() { + let linkAdmin = $('#nav-admin a'); + utils.common.link(linkAdmin); + + await utils.common.waitLoader(); + + await createProject.delete(); + await browser.waitForAngular(); + + let url = await browser.getCurrentUrl(); + + expect(url).to.be.equal('http://localhost:9001/'); + }); +}); diff --git a/e2e/helpers/create-project-helper.js b/e2e/helpers/create-project-helper.js new file mode 100644 index 00000000..c87f5fac --- /dev/null +++ b/e2e/helpers/create-project-helper.js @@ -0,0 +1,50 @@ +var utils = require('../utils'); + +var helper = module.exports; + +helper.openWizard = function() { + $$('.create-project-btn').get(1).click(); +}; + +helper.createProjectLightbox = function() { + let obj = { + el: function() { + return $('div[tg-lb-create-project]'); + }, + waitOpen: function() { + return utils.lightbox.open(obj.el()); + }, + waitClose: function() { + return utils.lightbox.close(obj.el()); + }, + next: async function() { + $('.wizard-step.active .button-green').click(); + + await browser.sleep(1000); + }, + submit: function() { + return $('.wizard-step.active .button-green').click(); + }, + name: function() { + return $$('.create-step2 input').get(0); + }, + description: function() { + return $$('.create-step2 textarea'); + }, + errors: function() { + return $$('.checksley-error-list li'); + } + }; + + return obj; +}; + +helper.delete = async function() { + $('.delete-project').click(); + + let lb = $('div[tg-lb-delete-project]'); + + await utils.lightbox.open(lb); + + return lb.$('.button-green').click(); +}; diff --git a/e2e/helpers/index.js b/e2e/helpers/index.js index f6282d45..bc497ffc 100644 --- a/e2e/helpers/index.js +++ b/e2e/helpers/index.js @@ -12,3 +12,4 @@ module.exports.adminMemberships = require("./admin-memberships"); module.exports.adminPermissions = require("./admin-permissions"); module.exports.adminIntegrations = require("./admin-integrations"); module.exports.issues = require("./issues-helper"); +module.exports.createProject = require("./create-project-helper");