diff --git a/e2e/full/taskboard.e2e.js b/e2e/full/taskboard.e2e.js new file mode 100644 index 00000000..4ef6559d --- /dev/null +++ b/e2e/full/taskboard.e2e.js @@ -0,0 +1,61 @@ +var utils = require('../utils'); +var backlogHelper = require('../helpers').backlog; +var taskboardHelper = require('../helpers').taskboard; + +var chai = require('chai'); +var chaiAsPromised = require('chai-as-promised'); + +chai.use(chaiAsPromised); +var expect = chai.expect; + +describe.only('taskboard', function() { + before(async function() { + browser.get('http://localhost:9001/project/user7-project-example-0/backlog'); + await utils.common.waitLoader(); + + let sprint = backlogHelper.sprints().get(0); + + sprint.$('.button-gray').click(); + + await utils.common.waitLoader(); + + utils.common.takeScreenshot('taskboard', 'taskboard'); + }); + + describe('create task', function() { + let createTaskLightbox = null; + let formFields = {}; + + before(async function() { + taskboardHelper.openNewTaskLb(0); + + createTaskLightbox = taskboardHelper.getCreateTask(); + + await createTaskLightbox.waitOpen(); + }); + + it('capture screen', function() { + utils.common.takeScreenshot('taskboard', 'create-task'); + }); + + it('fill form', async function() { + let date = Date.now(); + formFields.subject = 'test subject' + date; + formFields.description = 'test description' + date; + + createTaskLightbox.subject().sendKeys(formFields.subject); + createTaskLightbox.description().sendKeys(formFields.description); + }); + + it('send form', async function() { + createTaskLightbox.submit(); + + await utils.lightbox.close(createTaskLightbox.el); + + let task = taskboardHelper.getBoxTasks(0, 0).last(); + let taskSubject = task.$('.task-name').getText(); + + expect(taskSubject).to.be.eventually.equal(formFields.subject); + }); + }); +}); diff --git a/e2e/helpers/index.js b/e2e/helpers/index.js index 527db3e7..1cccb975 100644 --- a/e2e/helpers/index.js +++ b/e2e/helpers/index.js @@ -1 +1,2 @@ module.exports.backlog = require("./backlog-helper"); +module.exports.taskboard = require("./taskboard-helper"); diff --git a/e2e/helpers/taskboard-helper.js b/e2e/helpers/taskboard-helper.js new file mode 100644 index 00000000..02eed900 --- /dev/null +++ b/e2e/helpers/taskboard-helper.js @@ -0,0 +1,45 @@ +var utils = require('../utils'); + +var helper = module.exports; + +helper.usertories = function() { + return $$('.task-row'); +}; + +helper.getBox = function(row, column) { + return $$('.task-row').get(row).$$('.taskboard-tasks-box').get(column); +}; + +helper.getBoxTasks = function(row, column) { + let box = helper.getBox(row, column); + + return box.$$('.taskboard-task'); +}; + +helper.openNewTaskLb = function(row) { + let us = helper.usertories().get(row); + + us.$('.icon-plus').click(); +}; + +helper.getCreateTask = function() { + let el = $('div[tg-lb-create-edit-task]'); + + let obj = { + el: el, + waitOpen: function() { + return utils.lightbox.open(el); + }, + subject: function() { + return el.element(by.model('task.subject')); + }, + description: function() { + return el.element(by.model('task.description')); + }, + submit: function() { + el.$('button[type="submit"]').click(); + } + }; + + return obj; +};