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

94 lines
2.4 KiB
JavaScript

var utils = require('../utils');
var helper = module.exports;
helper.links = function() {
let el = $('section[tg-wiki-nav]');
let obj = {
el: el,
addLink: async function(pageTitle){
el.$(".add-button").click();
el.$(".new input").sendKeys(pageTitle);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
await browser.waitForAngular();
let newLink = await el.$$(".wiki-link a").last();
return newLink;
},
get: function() {
return el.$$(".wiki-link a");
},
deleteLink: async function(link){
link.$(".icon-delete").click();
await utils.lightbox.confirm.ok();
await browser.waitForAngular();
}
};
return obj;
};
helper.editor = function(){
let el = $('.main.wiki');
let obj = {
el: el,
enabledEditionMode: async function(){
await el.$("section[tg-editable-wiki-content] .view-wiki-content").click();
},
getTimesEdited: async function(){
let total = await el.$(".wiki-times-edited .number").getText();
return total;
},
getLastEditionDateTime: async function(){
let date = await el.$(".wiki-last-modified .number").getText();
return date;
},
getLastEditor: async function(){
let editor = await el.$(".wiki-user-modification .username").getText();
return editor;
},
getInnerHtml: async function(text){
let wikiText = await el.$(".content").getInnerHtml();
return wikiText;
},
getText: async function(text){
let wikiText = await el.$("textarea").getAttribute('value');
return wikiText;
},
setText: async function(text){
await el.$("textarea").clear().sendKeys(text);
},
preview: async function(){
await el.$(".preview-icon a").click();
await browser.waitForAngular();
},
save: async function(){
await el.$(".save").click();
await browser.waitForAngular();
},
delete: async function(){
await el.$('.remove').click();
await utils.lightbox.confirm.ok();
await browser.waitForAngular();
}
};
return obj;
};