Adding common detail testing for title, tags and description

stable
Alejandro Alonso 2015-07-24 09:28:41 +02:00 committed by Juanfran
parent 2ed7ac62f4
commit eea81738fe
5 changed files with 157 additions and 19 deletions

View File

@ -16,7 +16,13 @@ describe('Issue detail', function(){
await utils.common.takeScreenshot("issues", "detail"); await utils.common.takeScreenshot("issues", "detail");
}); });
it('assigned to', utils.detail.assignedToTesting); it('title edition', utils.detail.titleTesting);
it('tags edition', utils.detail.tagsTesting);
it('description edition', utils.detail.descriptionTesting);
it('assigned to edition', utils.detail.assignedToTesting);
it('screenshot', async function() { it('screenshot', async function() {
await utils.common.takeScreenshot("issues", "detail updated"); await utils.common.takeScreenshot("issues", "detail updated");

View File

@ -16,7 +16,13 @@ describe('Task detail', function(){
await utils.common.takeScreenshot("tasks", "detail"); await utils.common.takeScreenshot("tasks", "detail");
}); });
it('assigned to', utils.detail.assignedToTesting); it('title edition', utils.detail.titleTesting);
it('tags edition', utils.detail.tagsTesting);
it('description edition', utils.detail.descriptionTesting);
it('assigned to edition', utils.detail.assignedToTesting);
it('screenshot', async function() { it('screenshot', async function() {
await utils.common.takeScreenshot("tasks", "detail updated"); await utils.common.takeScreenshot("tasks", "detail updated");

View File

@ -16,7 +16,13 @@ describe('USer story detail', function(){
await utils.common.takeScreenshot("user-stories", "detail"); await utils.common.takeScreenshot("user-stories", "detail");
}); });
it('assigned to', utils.detail.assignedToTesting); it('title edition', utils.detail.titleTesting);
it('tags edition', utils.detail.tagsTesting);
it('description edition', utils.detail.descriptionTesting);
it('assigned to edition', utils.detail.assignedToTesting);
it('screenshot', async function() { it('screenshot', async function() {
await utils.common.takeScreenshot("user-stories", "detail updated"); await utils.common.takeScreenshot("user-stories", "detail updated");

View File

@ -2,28 +2,115 @@ var utils = require('../utils');
var helper = module.exports; 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() { helper.assignedTo = function() {
let el = $('.assigned-to'); let el = $('.assigned-to');
let obj = { let obj = {
el: el, el: el,
clear: async function() {
el.$('.icon-delete').click();
await utils.lightbox.confirm.ok();
await browser.waitForAngular();
},
assign: function() { clear: async function() {
el.$('.user-assigned').click(); el.$('.icon-delete').click();
}, await utils.lightbox.confirm.ok();
await browser.waitForAngular();
},
getUserName: function() { assign: function() {
return el.$('.user-assigned').getText(); el.$('.user-assigned').click();
} },
}; getUserName: function() {
return el.$('.user-assigned').getText();
}
return obj; };
return obj;
}; };
helper.assignToLightbox = function() { helper.assignToLightbox = function() {

View File

@ -8,6 +8,39 @@ var expect = chai.expect;
var helper = module.exports; var helper = module.exports;
helper.titleTesting = async function() {
let titleHelper = detailHelper.title();
let title = await titleHelper.getTitle();
let date = Date.now()
titleHelper.setTitle("New title " + date);
let newTitle = await titleHelper.getTitle();
expect(newTitle).to.be.not.equal(title);
}
helper.tagsTesting = async function() {
let tagsHelper = detailHelper.tags();
let tagsText = await tagsHelper.getTagsText();
await tagsHelper.clearTags();
let date = Date.now();
let tags = [1, 2, 3, 4, 5].map(function(i){ return date + "-" + i})
tagsHelper.addTags(tags);
await browser.waitForAngular();
let newtagsText = await tagsHelper.getTagsText();
expect(newtagsText).to.be.not.equal(tagsText);
}
helper.descriptionTesting = async function() {
let descriptionHelper = detailHelper.description();
let description = await descriptionHelper.getInnerHtml();
let date = Date.now()
descriptionHelper.enabledEditionMode();
descriptionHelper.setText("New description " + date)
descriptionHelper.save();
let newDescription = await descriptionHelper.getInnerHtml();
expect(newDescription).to.be.not.equal(description);
}
helper.assignedToTesting = async function() { helper.assignedToTesting = async function() {
let assignedTo = detailHelper.assignedTo(); let assignedTo = detailHelper.assignedTo();
let assignToLightbox = detailHelper.assignToLightbox(); let assignToLightbox = detailHelper.assignToLightbox();