From 0ec6d652f74c337b29bb49acd965cf6807b5b1d7 Mon Sep 17 00:00:00 2001 From: Daniel Sami Date: Mon, 4 Mar 2019 11:53:35 -0500 Subject: [PATCH 1/4] check for 404s --- awx/ui/test/e2e/tests/test-404-behavior.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 awx/ui/test/e2e/tests/test-404-behavior.js diff --git a/awx/ui/test/e2e/tests/test-404-behavior.js b/awx/ui/test/e2e/tests/test-404-behavior.js new file mode 100644 index 0000000000..608ce00d34 --- /dev/null +++ b/awx/ui/test/e2e/tests/test-404-behavior.js @@ -0,0 +1,22 @@ +import { + AWX_E2E_URL +} from '../settings'; + +module.exports = { + before: (client) => { + + client + .login() + .waitForAngular() + .resizeWindow(1200, 1000); + }, + 'Verify 404 page behavior': client => { + client.navigateTo(AWX_E2E_URL + '#/brokenurl', false); + client.useXpath().waitForElementVisible('//job-status-graph'); + client.assert.urlContains('#/home'); + }, + + after: client => { + client.end(); + } +}; From 38934dc8d002ffcbc6ef9871b95dde744e39acef Mon Sep 17 00:00:00 2001 From: Daniel Sami Date: Mon, 4 Mar 2019 11:56:48 -0500 Subject: [PATCH 2/4] lint fixes --- awx/ui/test/e2e/tests/test-404-behavior.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/awx/ui/test/e2e/tests/test-404-behavior.js b/awx/ui/test/e2e/tests/test-404-behavior.js index 608ce00d34..05071c4575 100644 --- a/awx/ui/test/e2e/tests/test-404-behavior.js +++ b/awx/ui/test/e2e/tests/test-404-behavior.js @@ -4,14 +4,13 @@ import { module.exports = { before: (client) => { - client .login() .waitForAngular() .resizeWindow(1200, 1000); }, 'Verify 404 page behavior': client => { - client.navigateTo(AWX_E2E_URL + '#/brokenurl', false); + client.navigateTo(`${AWX_E2E_URL}'#/brokenurl`, false); client.useXpath().waitForElementVisible('//job-status-graph'); client.assert.urlContains('#/home'); }, From 006797014cdda84c9ae391e7405230af307bcd83 Mon Sep 17 00:00:00 2001 From: Daniel Sami Date: Mon, 4 Mar 2019 11:58:32 -0500 Subject: [PATCH 3/4] fix url --- awx/ui/test/e2e/tests/test-404-behavior.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/ui/test/e2e/tests/test-404-behavior.js b/awx/ui/test/e2e/tests/test-404-behavior.js index 05071c4575..7378fa86bc 100644 --- a/awx/ui/test/e2e/tests/test-404-behavior.js +++ b/awx/ui/test/e2e/tests/test-404-behavior.js @@ -10,7 +10,7 @@ module.exports = { .resizeWindow(1200, 1000); }, 'Verify 404 page behavior': client => { - client.navigateTo(`${AWX_E2E_URL}'#/brokenurl`, false); + client.navigateTo(`${AWX_E2E_URL}#/brokenurl`, false); client.useXpath().waitForElementVisible('//job-status-graph'); client.assert.urlContains('#/home'); }, From bcdb590a2931922dd1a7532f2e31003e1cb1411d Mon Sep 17 00:00:00 2001 From: Daniel Sami Date: Tue, 5 Mar 2019 10:55:39 -0500 Subject: [PATCH 4/4] 404 tests for varied resources --- awx/ui/test/e2e/tests/test-404-behavior.js | 30 +++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/awx/ui/test/e2e/tests/test-404-behavior.js b/awx/ui/test/e2e/tests/test-404-behavior.js index 7378fa86bc..6effbf8baa 100644 --- a/awx/ui/test/e2e/tests/test-404-behavior.js +++ b/awx/ui/test/e2e/tests/test-404-behavior.js @@ -1,5 +1,6 @@ import { - AWX_E2E_URL + AWX_E2E_URL, + AWX_E2E_TIMEOUT_MEDIUM } from '../settings'; module.exports = { @@ -9,12 +10,35 @@ module.exports = { .waitForAngular() .resizeWindow(1200, 1000); }, - 'Verify 404 page behavior': client => { + 'Test that default the 404 behavior redirects to the dashboard': client => { client.navigateTo(`${AWX_E2E_URL}#/brokenurl`, false); client.useXpath().waitForElementVisible('//job-status-graph'); client.assert.urlContains('#/home'); }, - + 'Test 404 modal for job templates': client => { + client.navigateTo(`${AWX_E2E_URL}#/templates/job_template/99999`, false); + client.expect.element('//*[@id="alert-modal"]') + .to.be.visible.after(AWX_E2E_TIMEOUT_MEDIUM); + client.findThenClick('//*[@id="alert_ok_btn"]'); + }, + 'Test 404 modal for workflow job templates': client => { + client.navigateTo(`${AWX_E2E_URL}#/templates/workflow_job_template/99999`, false); + client.expect.element('//*[@id="alert-modal"]') + .to.be.visible.after(AWX_E2E_TIMEOUT_MEDIUM); + client.findThenClick('//*[@id="alert_ok_btn"]'); + }, + 'Test 404 modal for credentials': client => { + client.navigateTo(`${AWX_E2E_URL}#/credentials/99999`, false); + client.expect.element('//*[@id="alert-modal"]') + .to.be.visible.after(AWX_E2E_TIMEOUT_MEDIUM); + client.findThenClick('//*[@id="alert_ok_btn"]'); + }, + 'Test 404 modal for projects': client => { + client.navigateTo(`${AWX_E2E_URL}#/projects/99999`, false); + client.expect.element('//*[@id="alert-modal"]') + .to.be.visible.after(AWX_E2E_TIMEOUT_MEDIUM); + client.findThenClick('//*[@id="alert_ok_btn"]'); + }, after: client => { client.end(); }