mirror of
https://github.com/ansible/awx.git
synced 2026-05-15 05:17:36 -02:30
fix workflow e2e tests again
This commit is contained in:
@@ -50,10 +50,12 @@ const readOrgPermissionResults = '//*[@id="permissions_table"]//*[text()="test-a
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
before: (client, done) => {
|
before: (client, done) => {
|
||||||
|
const namespace = 'test-org-permissions';
|
||||||
|
|
||||||
const resources = [
|
const resources = [
|
||||||
getUserExact('test-actions', 'test-actions-user'),
|
getUserExact(namespace, `${namespace}-user`),
|
||||||
getOrganization('test-actions'),
|
getOrganization(namespace),
|
||||||
getTeam('test-actions'),
|
getTeam(namespace),
|
||||||
];
|
];
|
||||||
|
|
||||||
Promise.all(resources)
|
Promise.all(resources)
|
||||||
|
|||||||
@@ -140,76 +140,56 @@ module.exports = {
|
|||||||
templates.expect.element('@save').enabled;
|
templates.expect.element('@save').enabled;
|
||||||
client.pause(1000);
|
client.pause(1000);
|
||||||
|
|
||||||
client.getValue('#workflow_job_template_name', result => {
|
templates.section.editWorkflowJobTemplate
|
||||||
templates.expect.element('#workflow_job_template_cancel_btn').visible;
|
.waitForElementVisible('@visualizerButton')
|
||||||
templates.click('#workflow_job_template_cancel_btn');
|
.click('@visualizerButton')
|
||||||
client.refresh();
|
.waitForElementVisible('div.spinny')
|
||||||
client.waitForElementVisible('div.spinny');
|
.waitForElementNotVisible('div.spinny')
|
||||||
client.waitForElementNotVisible('div.spinny');
|
.waitForAngular();
|
||||||
|
|
||||||
templates.expect.element('smart-search').visible;
|
client.expect.element('#workflow-modal-dialog').visible;
|
||||||
templates.expect.element('smart-search input').enabled;
|
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
|
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').visible;
|
||||||
.sendKeys('smart-search input', `name.iexact:"${result.value}"`)
|
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').enabled;
|
||||||
.sendKeys('smart-search input', client.Keys.ENTER);
|
|
||||||
|
|
||||||
templates.waitForElementVisible('div.spinny');
|
client.click('#workflow-modal-dialog i[class*="fa-cog"]');
|
||||||
templates.waitForElementNotVisible('div.spinny');
|
|
||||||
|
|
||||||
templates.expect.element('.at-Panel-headingTitleBadge').text.equal('1').before(10000);
|
client.waitForElementVisible('workflow-controls');
|
||||||
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').visible;
|
client.waitForElementVisible('div[class*="-zoomPercentage"]');
|
||||||
templates.expect.element('div[ui-view="templatesList"] i[class*="sitemap"]').enabled;
|
|
||||||
|
|
||||||
client
|
client.click('i[class*="fa-home"]').expect.element('div[class*="-zoomPercentage"]').text.equal('100%');
|
||||||
.click('div[ui-view="templatesList"] i[class*="sitemap"]')
|
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('90%');
|
||||||
.pause(1500)
|
client.click('i[class*="fa-minus"]').expect.element('div[class*="-zoomPercentage"]').text.equal('80%');
|
||||||
.waitForElementNotVisible('div.spinny');
|
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('#node-1').visible;
|
||||||
client.expect.element('#workflow-modal-dialog span[class^="badge"]').visible;
|
client.expect.element('#node-2').visible;
|
||||||
client.expect.element('#workflow-modal-dialog span[class^="badge"]').text.equal('3');
|
client.expect.element('#node-3').visible;
|
||||||
client.expect.element('div[class="WorkflowMaker-title"]').visible;
|
client.expect.element('#node-4').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('#workflow-modal-dialog i[class*="fa-cog"]').visible;
|
client.expect.element('#node-1 text').text.not.equal('').after(5000);
|
||||||
client.expect.element('#workflow-modal-dialog i[class*="fa-cog"]').enabled;
|
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"]');
|
const checkNodeText = (selector, text) => client.getText(selector, ({ value }) => {
|
||||||
|
client.assert.equal(text.indexOf(value.replace('...', '')) >= 0, true);
|
||||||
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();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -53,39 +53,20 @@ module.exports = {
|
|||||||
data = { source, template, project, workflow };
|
data = { source, template, project, workflow };
|
||||||
done();
|
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
|
client
|
||||||
.click('div[ui-view="templatesList"] i[class*="sitemap"]')
|
.login()
|
||||||
.pause(1500)
|
.waitForAngular()
|
||||||
|
.resizeWindow(1200, 1000)
|
||||||
.useXpath()
|
.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 => {
|
'verify that workflow visualizer root node can only be set to always': client => {
|
||||||
client
|
client
|
||||||
|
|||||||
Reference in New Issue
Block a user