From a02eda1beaf60ad08db2af7b7b988e72815528e7 Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Tue, 5 Dec 2017 15:53:22 -0500 Subject: [PATCH] add e2e test for project copy --- .../e2e/tests/test-projects-list-actions.js | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 awx/ui/test/e2e/tests/test-projects-list-actions.js diff --git a/awx/ui/test/e2e/tests/test-projects-list-actions.js b/awx/ui/test/e2e/tests/test-projects-list-actions.js new file mode 100644 index 0000000000..e8bd6c0bc3 --- /dev/null +++ b/awx/ui/test/e2e/tests/test-projects-list-actions.js @@ -0,0 +1,51 @@ +import { getProject } from '../fixtures'; + +const data = {}; + +module.exports = { + before: (client, done) => { + getProject('test-actions') + .then(obj => { data.project = obj; }) + .then(done); + }, + 'copy project': client => { + const projects = client.page.projects(); + + client.useCss(); + client.resizeWindow(1200, 800); + client.login(); + client.waitForAngular(); + + projects.navigate(); + projects.waitForElementVisible('div.spinny'); + projects.waitForElementNotVisible('div.spinny'); + + projects.section.list.expect.element('smart-search').visible; + projects.section.list.section.search.expect.element('@input').enabled; + + projects.section.list.section.search + .sendKeys('@input', `id:>${data.project.id - 1} id:<${data.project.id + 1}`) + .sendKeys('@input', client.Keys.ENTER); + + projects.waitForElementVisible('div.spinny'); + projects.waitForElementNotVisible('div.spinny'); + + projects.section.list.expect.element('@badge').text.equal('1'); + projects.expect.element(`#projects_table tr[id="${data.project.id}"]`).visible; + projects.expect.element('i[class*="copy"]').visible; + projects.expect.element('i[class*="copy"]').enabled; + + projects.click('i[class*="copy"]'); + projects.waitForElementVisible('div.spinny'); + projects.waitForElementNotVisible('div.spinny'); + + projects.expect.element('#project_form').visible; + projects.section.edit.expect.element('@title').visible; + projects.section.edit.expect.element('@title').text.contain(data.project.name); + projects.section.edit.expect.element('@title').text.not.equal(data.project.name); + projects.expect.element('@save').visible; + projects.expect.element('@save').enabled; + + client.end(); + } +};