fix workflow e2e tests again

This commit is contained in:
Jake McDermott 2018-11-17 16:39:18 -05:00
parent 0e3bf6db09
commit fabe56088d
No known key found for this signature in database
GPG Key ID: 9A6F084352C3A0B7
3 changed files with 59 additions and 96 deletions

View File

@ -50,10 +50,12 @@ const readOrgPermissionResults = '//*[@id="permissions_table"]//*[text()="test-a
module.exports = {
before: (client, done) => {
const namespace = 'test-org-permissions';
const resources = [
getUserExact('test-actions', 'test-actions-user'),
getOrganization('test-actions'),
getTeam('test-actions'),
getUserExact(namespace, `${namespace}-user`),
getOrganization(namespace),
getTeam(namespace),
];
Promise.all(resources)

View File

@ -140,76 +140,56 @@ module.exports = {
templates.expect.element('@save').enabled;
client.pause(1000);
client.getValue('#workflow_job_template_name', result => {
templates.expect.element('#workflow_job_template_cancel_btn').visible;
templates.click('#workflow_job_template_cancel_btn');
client.refresh();
client.waitForElementVisible('div.spinny');
client.waitForElementNotVisible('div.spinny');
templates.section.editWorkflowJobTemplate
.waitForElementVisible('@visualizerButton')
.click('@visualizerButton')
.waitForElementVisible('div.spinny')
.waitForElementNotVisible('div.spinny')
.waitForAngular();
templates.expect.element('smart-search').visible;
templates.expect.element('smart-search input').enabled;
client.expect.element('#workflow-modal-dialog').visible;
client.expect.element('#workflow-modal-dialog span[class^="badge"]').visible;
client.expect.element('#workflow-modal-dialog span[class^="badge"]').text.equal('3');
client.expect.element('div[class="WorkflowMaker-title"]').visible;
client.expect.element('div[class="WorkflowMaker-title"]').text.contain(data.workflow.name);
client.expect.element('div[class="WorkflowMaker-title"]').text.not.equal(data.workflow.name);
templates
.sendKeys('smart-search input', `name.iexact:"${result.value}"`)
.sendKeys('smart-search input', client.Keys.ENTER);
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').visible;
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').enabled;
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
client.click('#workflow-modal-dialog i[class*="fa-cog"]');
templates.expect.element('.at-Panel-headingTitleBadge').text.equal('1').before(10000);
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').visible;
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').enabled;
client.waitForElementVisible('workflow-controls');
client.waitForElementVisible('div[class*="-zoomPercentage"]');
client
.click('div[ui-view="templatesList"] i[class*="sitemap"]')
.pause(1500)
.waitForElementNotVisible('div.spinny');
client.click('i[class*="fa-home"]').expect.element('div[class*="-zoomPercentage"]').text.equal('100%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('90%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('80%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('70%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('60%');
client.expect.element('#workflow-modal-dialog').visible;
client.expect.element('#workflow-modal-dialog span[class^="badge"]').visible;
client.expect.element('#workflow-modal-dialog span[class^="badge"]').text.equal('3');
client.expect.element('div[class="WorkflowMaker-title"]').visible;
client.expect.element('div[class="WorkflowMaker-title"]').text.contain(data.workflow.name);
client.expect.element('div[class="WorkflowMaker-title"]').text.not.equal(data.workflow.name);
client.expect.element('#node-1').visible;
client.expect.element('#node-2').visible;
client.expect.element('#node-3').visible;
client.expect.element('#node-4').visible;
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').visible;
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').enabled;
client.expect.element('#node-1 text').text.not.equal('').after(5000);
client.expect.element('#node-2 text').text.not.equal('').after(5000);
client.expect.element('#node-3 text').text.not.equal('').after(5000);
client.expect.element('#node-4 text').text.not.equal('').after(5000);
client.click('#workflow-modal-dialog i[class*="fa-cog"]');
client.waitForElementVisible('workflow-controls');
client.waitForElementVisible('div[class*="-zoomPercentage"]');
client.click('i[class*="fa-home"]').expect.element('div[class*="-zoomPercentage"]').text.equal('100%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('90%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('80%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('70%');
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('60%');
client.expect.element('#node-1').visible;
client.expect.element('#node-2').visible;
client.expect.element('#node-3').visible;
client.expect.element('#node-4').visible;
client.expect.element('#node-1 text').text.not.equal('').after(5000);
client.expect.element('#node-2 text').text.not.equal('').after(5000);
client.expect.element('#node-3 text').text.not.equal('').after(5000);
client.expect.element('#node-4 text').text.not.equal('').after(5000);
const checkNodeText = (selector, text) => client.getText(selector, ({ value }) => {
client.assert.equal(text.indexOf(value.replace('...', '')) >= 0, true);
});
checkNodeText('#node-1 text', 'START');
checkNodeText('#node-2 text', data.project.name);
checkNodeText('#node-3 text', data.template.name);
checkNodeText('#node-4 text', data.source.name);
templates.expect.element('@save').visible;
templates.expect.element('@save').enabled;
client.end();
const checkNodeText = (selector, text) => client.getText(selector, ({ value }) => {
client.assert.equal(text.indexOf(value.replace('...', '')) >= 0, true);
});
checkNodeText('#node-1 text', 'START');
checkNodeText('#node-2 text', data.project.name);
checkNodeText('#node-3 text', data.template.name);
checkNodeText('#node-4 text', data.source.name);
templates.expect.element('@save').visible;
templates.expect.element('@save').enabled;
client.end();
}
};

View File

@ -53,39 +53,20 @@ module.exports = {
data = { source, template, project, workflow };
done();
});
},
'navigate to the workflow template visualizer': client => {
const templates = client.page.templates();
client.useCss();
client.resizeWindow(1200, 800);
client.login();
client.waitForAngular();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
templates.expect.element('smart-search').visible;
templates.expect.element('smart-search input').enabled;
templates
.sendKeys('smart-search input', `id:>${data.workflow.id - 1} id:<${data.workflow.id + 1}`)
.sendKeys('smart-search input', client.Keys.ENTER);
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
templates.expect.element('.at-Panel-headingTitleBadge').text.equal('1').before(10000);
templates.expect.element(`#row-${data.workflow.id}`).visible;
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').visible;
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').enabled;
client
.click('div[ui-view="templatesList"] i[class*="sitemap"]')
.pause(1500)
.login()
.waitForAngular()
.resizeWindow(1200, 1000)
.useXpath()
.waitForElementNotVisible(spinny);
.findThenClick(workflowTemplateNavTab)
.pause(1500)
.waitForElementNotVisible(spinny)
.clearValue(workflowSearchBar)
.setValue(workflowSearchBar, [workflowText, client.Keys.ENTER])
.waitForElementVisible(workflowSearchBadgeCount)
.waitForElementNotVisible(spinny)
.findThenClick(workflowSelector)
.findThenClick(workflowVisualizerBtn);
},
'verify that workflow visualizer root node can only be set to always': client => {
client