issues list e2e
parent
eec61ef202
commit
0443a67492
|
@ -8,7 +8,7 @@ var chaiAsPromised = require('chai-as-promised');
|
||||||
chai.use(chaiAsPromised);
|
chai.use(chaiAsPromised);
|
||||||
var expect = chai.expect;
|
var expect = chai.expect;
|
||||||
|
|
||||||
describe.only('issues list', function() {
|
describe('issues list', function() {
|
||||||
before(async function() {
|
before(async function() {
|
||||||
browser.get('http://localhost:9001/project/project-3/issues');
|
browser.get('http://localhost:9001/project/project-3/issues');
|
||||||
await utils.common.waitLoader();
|
await utils.common.waitLoader();
|
||||||
|
@ -104,9 +104,9 @@ describe.only('issues list', function() {
|
||||||
|
|
||||||
await assignToLightbox.waitOpen();
|
await assignToLightbox.waitOpen();
|
||||||
|
|
||||||
assignToLightbox.select(1);
|
let newUserName = await assignToLightbox.getName(2);
|
||||||
|
|
||||||
let newUserName = await assignToLightbox.getName(1);
|
assignToLightbox.select(2);
|
||||||
|
|
||||||
await assignToLightbox.waitClose();
|
await assignToLightbox.waitClose();
|
||||||
|
|
||||||
|
@ -115,18 +115,201 @@ describe.only('issues list', function() {
|
||||||
expect(issueUserName).to.be.equal(newUserName);
|
expect(issueUserName).to.be.equal(newUserName);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('pagination', async function() {
|
describe('filters', function() {
|
||||||
|
it('by ref', async function() {
|
||||||
|
let issues = issuesHelper.getIssues();
|
||||||
|
let issue = issues.get(0);
|
||||||
|
|
||||||
let table = issuesHelper.getTable();
|
let table = issuesHelper.getTable();
|
||||||
|
|
||||||
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
issuesHelper.clickPagination(1);
|
issue = await issuesHelper.parseIssue(issue);
|
||||||
|
|
||||||
|
let filterInput = issuesHelper.getFilterInput();
|
||||||
|
|
||||||
|
await filterInput.sendKeys(issue.ref);
|
||||||
|
|
||||||
await htmlChanges();
|
await htmlChanges();
|
||||||
|
|
||||||
let url = await browser.getCurrentUrl();
|
let newIssuesCount = await issues.count();
|
||||||
|
|
||||||
expect(url).to.contain('page=2');
|
expect(newIssuesCount).to.be.equal(1);
|
||||||
|
|
||||||
|
await utils.common.clear(filterInput);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by subject', async function() {
|
||||||
|
let oldIssuesCount = await $$('.row.table-main').count();
|
||||||
|
let issues = issuesHelper.getIssues();
|
||||||
|
let issue = issues.get(0);
|
||||||
|
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issue = await issuesHelper.parseIssue(issue);
|
||||||
|
|
||||||
|
let filterInput = issuesHelper.getFilterInput();
|
||||||
|
|
||||||
|
await filterInput.sendKeys(issue.subject);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
let newIssuesCount = await issues.count();
|
||||||
|
|
||||||
|
expect(newIssuesCount).not.to.be.equal(oldIssuesCount);
|
||||||
|
expect(newIssuesCount).to.be.above(0);
|
||||||
|
|
||||||
|
await utils.common.clear(filterInput);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by type', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(0).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by status', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(1).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by severity', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(2).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by priorities', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(3).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by tags', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(4).click();
|
||||||
|
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by assigned to', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(5).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('by created by', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(6).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('empty', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
let filterInput = issuesHelper.getFilterInput();
|
||||||
|
|
||||||
|
await filterInput.sendKeys(new Date().getTime());
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
let newIssuesCount = await issuesHelper.getIssues().count();
|
||||||
|
|
||||||
|
expect(newIssuesCount).to.be.equal(0);
|
||||||
|
|
||||||
|
await utils.common.takeScreenshot('issues', 'empty-issues');
|
||||||
|
await utils.common.clear(filterInput);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('save custom filter', async function() {
|
||||||
|
issuesHelper.filtersCats().get(1).click();
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await browser.waitForAngular();
|
||||||
|
|
||||||
|
await issuesHelper.saveFilter('custom');
|
||||||
|
|
||||||
|
expect(issuesHelper.getCustomFilters().count()).to.be.eventually.equal(1);
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
issuesHelper.backToFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('apply custom filter', async function() {
|
||||||
|
let table = issuesHelper.getTable();
|
||||||
|
let htmlChanges = await utils.common.outerHtmlChanges(table);
|
||||||
|
|
||||||
|
issuesHelper.filtersCats().get(7).click();
|
||||||
|
|
||||||
|
issuesHelper.selectFilter(0);
|
||||||
|
|
||||||
|
await htmlChanges();
|
||||||
|
|
||||||
|
await issuesHelper.removeFilters();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('remove custom filter', async function() {
|
||||||
|
await issuesHelper.removeCustomFilters();
|
||||||
|
|
||||||
|
expect(issuesHelper.getCustomFilters().count()).to.be.eventually.equal(0);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -76,3 +76,71 @@ helper.getAssignTo = function(index) {
|
||||||
helper.clickPagination = function(index) {
|
helper.clickPagination = function(index) {
|
||||||
$$('.paginator li').get(index).click();
|
$$('.paginator li').get(index).click();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
helper.getIssues = function() {
|
||||||
|
return $$('.row.table-main');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.parseIssue = async function(elm) {
|
||||||
|
let obj = {};
|
||||||
|
|
||||||
|
obj.ref = await elm.$$('.subject span').get(0).getText();
|
||||||
|
obj.ref = obj.ref.replace('#', '');
|
||||||
|
obj.subject = await elm.$$('.subject span').get(1).getText();
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.getFilterInput = function() {
|
||||||
|
return $$('sidebar[tg-issues-filters] input').get(0);
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.filtersCats = function() {
|
||||||
|
return $$('.filters-cats li');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.filtersList = function() {
|
||||||
|
return $$('.filter-list a');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.selectFilter = async function(index) {
|
||||||
|
helper.filtersList().get(index).click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.saveFilter = async function(name) {
|
||||||
|
$('.filters-step-cat .save-filters').click();
|
||||||
|
|
||||||
|
await $('.filter-list input').sendKeys(name);
|
||||||
|
|
||||||
|
return browser.actions().sendKeys(protractor.Key.ENTER).perform();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.backToFilters = function() {
|
||||||
|
$$('.breadcrumb a').get(0).click();
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.removeFilters = async function() {
|
||||||
|
let count = await $$('.filters-applied .icon-delete').count();
|
||||||
|
|
||||||
|
while(count) {
|
||||||
|
$$('.filters-applied .icon-delete').get(0).click();
|
||||||
|
|
||||||
|
count = await $$('.filters-applied .icon-delete').count();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.getCustomFilters = function() {
|
||||||
|
return $$('.filter-list a[data-type="myFilters"]');
|
||||||
|
};
|
||||||
|
|
||||||
|
helper.removeCustomFilters = async function() {
|
||||||
|
let count = await $$('.filter-list .icon-delete').count();
|
||||||
|
|
||||||
|
while(count) {
|
||||||
|
$$('.filter-list .icon-delete').get(0).click();
|
||||||
|
|
||||||
|
await utils.lightbox.confirm.ok();
|
||||||
|
|
||||||
|
count = await $$('.filter-list .icon-delete').count();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in New Issue