From 30ece994d470c9b0d4a918800f004f6c7bc13f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Fri, 31 Jul 2015 13:15:36 +0200 Subject: [PATCH] Add my first two e2e test :sunny: --- .../user-stories/user-story-detail.e2e.js | 33 +++++++++++++- e2e/helpers/index.js | 1 + e2e/helpers/us-detail-helper.js | 43 +++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 e2e/helpers/us-detail-helper.js diff --git a/e2e/full/user-stories/user-story-detail.e2e.js b/e2e/full/user-stories/user-story-detail.e2e.js index 284cd997..c332efbe 100644 --- a/e2e/full/user-stories/user-story-detail.e2e.js +++ b/e2e/full/user-stories/user-story-detail.e2e.js @@ -1,4 +1,5 @@ var utils = require('../../utils'); +var usDetailHelper = require('../../helpers').usDetail; var chai = require('chai'); var chaiAsPromised = require('chai-as-promised'); @@ -6,7 +7,7 @@ var chaiAsPromised = require('chai-as-promised'); chai.use(chaiAsPromised); var expect = chai.expect; -describe('User story detail', function(){ +describe.only('User story detail', function(){ let backlogUrl = ""; before(async function(){ await utils.common.goHome(); @@ -28,6 +29,36 @@ describe('User story detail', function(){ it('assigned to edition', utils.detail.assignedToTesting); + it('team requirement edition', async function() { + let requirementHelper = usDetailHelper.teamRequirement(); + let isRequired = await requirementHelper.isRequired(); + + // Toggle + requirementHelper.toggleStatus(); + let newIsRequired = await requirementHelper.isRequired(); + expect(isRequired).to.be.not.equal(newIsRequired); + + // Toggle again + requirementHelper.toggleStatus(); + newIsRequired = await requirementHelper.isRequired(); + expect(isRequired).to.be.equal(newIsRequired); + }); + + it('client requirement edition', async function() { + let requirementHelper = usDetailHelper.clientRequirement(); + let isRequired = await requirementHelper.isRequired(); + + // Toggle + requirementHelper.toggleStatus(); + let newIsRequired = await requirementHelper.isRequired(); + expect(isRequired).to.be.not.equal(newIsRequired); + + // Toggle again + requirementHelper.toggleStatus(); + newIsRequired = await requirementHelper.isRequired(); + expect(isRequired).to.be.equal(newIsRequired); + }); + it('watchers edition', utils.detail.watchersTesting); it('history', utils.detail.historyTesting); diff --git a/e2e/helpers/index.js b/e2e/helpers/index.js index 13debcce..2f95adf9 100644 --- a/e2e/helpers/index.js +++ b/e2e/helpers/index.js @@ -4,4 +4,5 @@ module.exports.kanban = require("./kanban-helper"); module.exports.team = require("./team-helper"); module.exports.wiki = require("./wiki-helper"); module.exports.detail = require("./detail-helper"); +module.exports.usDetail = require("./us-detail-helper"); module.exports.taskDetail = require("./task-detail-helper"); diff --git a/e2e/helpers/us-detail-helper.js b/e2e/helpers/us-detail-helper.js new file mode 100644 index 00000000..6fd9a4fd --- /dev/null +++ b/e2e/helpers/us-detail-helper.js @@ -0,0 +1,43 @@ +var utils = require('../utils'); + +var helper = module.exports; + +helper.teamRequirement = function() { + let el = $('tg-us-team-requirement-button'); + + let obj = { + el: el, + + toggleStatus: async function(){ + await el.$("label").click(); + await browser.waitForAngular(); + }, + + isRequired: async function() { + let classes = await el.$("label").getAttribute('class'); + return classes.includes("active"); + } + }; + + return obj; +}; + +helper.clientRequirement = function() { + let el = $('tg-us-client-requirement-button'); + + let obj = { + el: el, + + toggleStatus: async function(){ + await el.$("label").click(); + await browser.waitForAngular(); + }, + + isRequired: async function() { + let classes = await el.$("label").getAttribute('class'); + return classes.includes("active"); + } + }; + + return obj; +};