257 lines
6.2 KiB
JavaScript
257 lines
6.2 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;
|
|
};
|
|
|
|
helper.history = function() {
|
|
let el = $('section.history');
|
|
let obj = {
|
|
el:el,
|
|
|
|
selectCommentsTab: function() {
|
|
el.$$('.history-tabs li a').first().click();
|
|
},
|
|
|
|
selectActivityTab: function() {
|
|
el.$$('.history-tabs li a').last().click();
|
|
},
|
|
|
|
addComment: async function(comment) {
|
|
el.$('textarea[tg-markitup]').sendKeys(comment);
|
|
el.$('input.save-comment').click();
|
|
await browser.waitForAngular();
|
|
},
|
|
|
|
countComments: async function() {
|
|
let moreComments = el.$('.comments-list .show-more-comments')
|
|
let moreCommentsIsPresent = await moreComments.isPresent();
|
|
if (moreCommentsIsPresent){
|
|
moreComments.click();
|
|
}
|
|
await browser.waitForAngular();
|
|
let comments = await el.$$(".activity-single.comment");
|
|
return comments.length;
|
|
},
|
|
|
|
countActivities: async function() {
|
|
let moreActivities = el.$('.changes-list .show-more-comments')
|
|
let selectActivityTabIsPresent = await moreActivities.isPresent();
|
|
if (selectActivityTabIsPresent){
|
|
moreActivities.click();
|
|
}
|
|
await browser.waitForAngular();
|
|
let activities = await el.$$(".activity-single.activity");
|
|
return activities.length;
|
|
},
|
|
|
|
countDeletedComments: async function() {
|
|
let moreComments = el.$('.comments-list .show-more-comments')
|
|
let moreCommentsIsPresent = await moreComments.isPresent();
|
|
if (moreCommentsIsPresent){
|
|
moreComments.click();
|
|
}
|
|
await browser.waitForAngular();
|
|
let comments = await el.$$(".activity-single.comment.deleted-comment");
|
|
return comments.length;
|
|
},
|
|
|
|
deleteLastComment: async function() {
|
|
el.$$(".activity-single.comment .comment-delete").last().click();
|
|
await browser.waitForAngular();
|
|
},
|
|
|
|
restoreLastComment: async function() {
|
|
el.$$(".activity-single.comment.deleted-comment .comment-restore").last().click();
|
|
await browser.waitForAngular();
|
|
}
|
|
}
|
|
|
|
return obj;
|
|
|
|
}
|
|
|
|
helper.block = function() {
|
|
let el = $('tg-block-button');
|
|
|
|
let obj = {
|
|
el:el,
|
|
block: function() {
|
|
el.$('.item-block').click();
|
|
},
|
|
|
|
unblock: async function() {
|
|
el.$('.item-unblock').click();
|
|
await browser.waitForAngular();
|
|
}
|
|
}
|
|
|
|
return obj;
|
|
}
|
|
|
|
helper.blockLightbox = function() {
|
|
let el = $('div[tg-lb-block]');
|
|
|
|
let obj = {
|
|
el: el,
|
|
waitOpen: function() {
|
|
return utils.lightbox.open(el);
|
|
},
|
|
waitClose: function() {
|
|
return utils.lightbox.close(el);
|
|
},
|
|
fill: function(text) {
|
|
el.$('textarea').sendKeys(text);
|
|
},
|
|
submit: async function() {
|
|
el.$('a.button-green').click();
|
|
await browser.waitForAngular();
|
|
}
|
|
};
|
|
|
|
return obj;
|
|
};
|
|
|
|
helper.delete = function() {
|
|
let el = $('tg-delete-button');
|
|
|
|
let obj = {
|
|
el:el,
|
|
delete: async function(){
|
|
el.$('.button-red').click();
|
|
await utils.lightbox.confirm.ok();
|
|
}
|
|
}
|
|
|
|
return obj;
|
|
}
|