diff --git a/awx/ui/test/e2e/tests/test-org-permissions.js b/awx/ui/test/e2e/tests/test-org-permissions.js index 4db48e8b23..42fe54fe03 100644 --- a/awx/ui/test/e2e/tests/test-org-permissions.js +++ b/awx/ui/test/e2e/tests/test-org-permissions.js @@ -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) diff --git a/awx/ui/test/e2e/tests/test-templates-list-actions.js b/awx/ui/test/e2e/tests/test-templates-list-actions.js index 617c3f590d..fbebe75d94 100644 --- a/awx/ui/test/e2e/tests/test-templates-list-actions.js +++ b/awx/ui/test/e2e/tests/test-templates-list-actions.js @@ -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(); } }; diff --git a/awx/ui/test/e2e/tests/test-workflow-visualizer.js b/awx/ui/test/e2e/tests/test-workflow-visualizer.js index 8e65e7069f..7cccd3aec3 100644 --- a/awx/ui/test/e2e/tests/test-workflow-visualizer.js +++ b/awx/ui/test/e2e/tests/test-workflow-visualizer.js @@ -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