taiga-front/e2e/full/taskboard.e2e.js

282 lines
8.9 KiB
JavaScript

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('taskboard', function() {
before(async function() {
browser.get('http://localhost:9001/project/project-0/backlog');
await utils.common.waitLoader();
let link = backlogHelper.sprints().get(0).$('.button-gray');
await utils.common.link(link);
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;
formFields.blockedNote = 'blocked note';
createTaskLightbox.subject().sendKeys(formFields.subject);
createTaskLightbox.description().sendKeys(formFields.description);
createTaskLightbox.tags().sendKeys('aaa');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
createTaskLightbox.tags().sendKeys('bbb');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
await createTaskLightbox.blocked().click();
await createTaskLightbox.blockedNote().sendKeys(formFields.blockedNote);
utils.common.takeScreenshot('taskboard', 'create-task-filled');
});
it('send form', async function() {
createTaskLightbox.submit();
await utils.lightbox.close(createTaskLightbox.el);
let tasks = taskboardHelper.getBoxTasks(0, 0);
let tasksSubject = await $$('.task-name').getText();
let findSubject = tasksSubject.indexOf(formFields.subject) !== -1;
expect(findSubject).to.be.true;
});
});
describe('edit task', function() {
let createTaskLightbox = null;
let formFields = {};
before(async function() {
taskboardHelper.editTask(0, 0, 0);
createTaskLightbox = taskboardHelper.getCreateTask();
await createTaskLightbox.waitOpen();
});
it('capture screen', function() {
utils.common.takeScreenshot('taskboard', 'edit-task');
});
it('fill form', async function() {
let date = Date.now();
formFields.subject = 'test subject' + date;
formFields.description = 'test description' + date;
formFields.blockedNote = 'blocked note';
createTaskLightbox.subject().sendKeys(formFields.subject);
await createTaskLightbox.description().sendKeys(formFields.description);
utils.common.takeScreenshot('taskboard', 'edit-task-filled');
});
it('send form', async function() {
createTaskLightbox.submit();
await utils.lightbox.close(createTaskLightbox.el);
let tasks = taskboardHelper.getBoxTasks(0, 0);
let tasksSubject = await $$('.task-name').getText();
let findSubject = tasksSubject.indexOf(formFields.subject) !== 1;
expect(findSubject).to.be.true;
});
});
describe('bulk create', function() {
let bulkCreateTaskLightbox;
before(async function() {
taskboardHelper.openBulkTaskLb(0);
bulkCreateTaskLightbox = taskboardHelper.getBulkCreateTask();
await bulkCreateTaskLightbox.waitOpen();
});
it('fill form', function() {
bulkCreateTaskLightbox.textarea().sendKeys('aaa');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
bulkCreateTaskLightbox.textarea().sendKeys('bbb');
browser.actions().sendKeys(protractor.Key.ENTER).perform();
});
it('send form', async function() {
let taskCount = await taskboardHelper.getBoxTasks(0, 0).count();
bulkCreateTaskLightbox.submit();
await utils.lightbox.close(bulkCreateTaskLightbox.el);
let newTaskCount = await taskboardHelper.getBoxTasks(0, 0).count();
expect(newTaskCount).to.be.equal(taskCount + 2);
});
});
describe('folds', function() {
it('fold row', async function() {
taskboardHelper.foldRow(0);
utils.common.takeScreenshot('taskboard', 'fold-row');
let rowsFold = await $$('.row-fold').count();
expect(rowsFold).to.be.equal(1);
});
it('unfold row', async function() {
taskboardHelper.unFoldRow(0);
let rowsFold = await $$('.row-fold').count();
expect(rowsFold).to.be.equal(0);
});
it('fold column', async function() {
taskboardHelper.foldColumn(0);
utils.common.takeScreenshot('taskboard', 'fold-column');
let columnFold = await $$('.column-fold').count();
expect(columnFold).to.be.above(1);
});
it('unfold column', async function() {
taskboardHelper.unFoldColumn(0);
let columnFold = await $$('.column-fold').count();
expect(columnFold).to.be.equal(0);
});
it('fold row and column', async function() {
taskboardHelper.foldRow(0);
taskboardHelper.foldColumn(0);
utils.common.takeScreenshot('taskboard', 'fold-column-row');
let rowsFold = await $$('.row-fold').count();
let columnFold = await $$('.column-fold').count();
expect(rowsFold).to.be.equal(1);
expect(columnFold).to.be.above(1);
});
it('unfold row and column', async function() {
taskboardHelper.unFoldRow(0);
taskboardHelper.unFoldColumn(0);
let rowsFold = await $$('.row-fold').count();
let columnFold = await $$('.column-fold').count();
expect(rowsFold).to.be.equal(0);
expect(columnFold).to.be.equal(0);
});
});
describe('move tasks', function() {
it('move task between statuses', async function() {
let initOriginTaskCount = await taskboardHelper.getBoxTasks(0, 0).count();
let initDestinationTaskCount = await taskboardHelper.getBoxTasks(0, 1).count();
let taskOrigin = taskboardHelper.getBoxTasks(0, 0).first();
let destination = taskboardHelper.getBox(0, 1);
await utils.common.drag(taskOrigin, destination);
browser.waitForAngular();
let originTaskCount = await taskboardHelper.getBoxTasks(0, 0).count();
let destinationTaskCount = await taskboardHelper.getBoxTasks(0, 1).count();
expect(originTaskCount).to.be.equal(initOriginTaskCount - 1);
expect(destinationTaskCount).to.be.equal(initDestinationTaskCount + 1);
});
// jquery ui drag bug
it.skip('move task between US\s', async function() {
let initOriginTaskCount = await taskboardHelper.getBoxTasks(0, 0).count();
let initDestinationTaskCount = await taskboardHelper.getBoxTasks(1, 1).count();
let taskOrigin = taskboardHelper.getBoxTasks(0, 0).first();
let destination = taskboardHelper.getBox(1, 0);
await utils.common.drag(taskOrigin, destination);
browser.waitForAngular();
let originTaskCount = await taskboardHelper.getBoxTasks(0, 0).count();
let destinationTaskCount = await taskboardHelper.getBoxTasks(1, 1).count();
expect(originTaskCount).to.be.equal(initOriginTaskCount - 1);
expect(destinationTaskCount).to.be.equal(initDestinationTaskCount + 1);
});
});
it.skip('Change task assigned to', function(){});
describe('Graph', function(){
let graph = $('.graphics-container');
it('open', async function() {
taskboardHelper.toggleGraph();
await utils.common.waitTransitionTime(graph);
utils.common.takeScreenshot('taskboard', 'grap-open');
let open = await utils.common.hasClass(graph, 'open');
expect(open).to.be.true;
});
it('close', async function() {
taskboardHelper.toggleGraph();
await utils.common.waitTransitionTime(graph);
let open = await utils.common.hasClass(graph, 'open');
expect(open).to.be.false;
});
});
});