taiga-front/e2e/helpers/detail-helper.js

135 lines
2.9 KiB
JavaScript

var utils = require('../utils');
var helper = module.exports;
helper.title = function() {
let el = $('span[tg-editable-subject]');
let obj = {
el: el,
getTitle: function() {
return el.$('.view-subject').getText();
},
setTitle: function(title) {
el.$('.view-subject').click();
el.$('.edit-subject input').clear().sendKeys(title);
}
};
return obj;
}
helper.description = function(){
let el = $('section[tg-editable-description]');
let obj = {
el: el,
enabledEditionMode: async function(){
await el.$(".view-description").click();
},
getInnerHtml: async function(text){
let html = await el.$(".wysiwyg.editable").getInnerHtml();
return html;
},
setText: async function(text){
await el.$("textarea").clear().sendKeys(text);
},
save: async function(){
await el.$(".save").click();
await browser.waitForAngular();
}
};
return obj;
};
helper.tags = function() {
let el = $('div[tg-tag-line]');
let obj = {
el:el,
clearTags: async function() {
let tags = await el.$$('.icon-delete');
let totalTags = tags.length
while (totalTags > 0) {
el.$$('.icon-delete').first().click();
await browser.waitForAngular();
totalTags --;
}
},
getTagsText: async function() {
let tags = await el.$$('.tag-name');
let text = "";
for (let tag of tags) {
let tagText = await tag.getText();
text += tagText;
}
return text;
},
addTags: async function(tags) {
el.$('.add-tag').click();
for (let tag of tags){
el.$('.tag-input').sendKeys(tag);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
}
}
}
return obj;
}
helper.assignedTo = function() {
let el = $('.assigned-to');
let obj = {
el: el,
clear: async function() {
el.$('.icon-delete').click();
await utils.lightbox.confirm.ok();
await browser.waitForAngular();
},
assign: function() {
el.$('.user-assigned').click();
},
getUserName: function() {
return el.$('.user-assigned').getText();
}
};
return obj;
};
helper.assignToLightbox = function() {
let el = $('div[tg-lb-assignedto]');
let obj = {
el: el,
waitOpen: function() {
return utils.lightbox.open(el);
},
waitClose: function() {
return utils.lightbox.close(el);
},
selectFirst: function() {
el.$$('div[data-user-id]').first().click();
}
};
return obj;
};