From c90ff310f78d6f3bb70530ea9d9145da559e950a Mon Sep 17 00:00:00 2001 From: Seyi Adebajo Date: Fri, 9 Feb 2018 10:49:35 -0800 Subject: [PATCH] refactors acceptance login into helper function. adds acceptance tests for tabbed dataset routes --- .../datasets/dataset/comments-test.js | 23 +++++++++++++++++++ .../datasets/dataset/ownership-test.js | 23 +++++++++++++++++++ .../datasets/dataset/properties-test.js | 14 +++-------- .../datasets/dataset/relations-test.js | 23 +++++++++++++++++++ .../datasets/dataset/sample-test.js | 23 +++++++++++++++++++ .../datasets/dataset/schema-test.js | 23 +++++++++++++++++++ .../tests/helpers/login/test-login.js | 16 +++++++++++++ 7 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 wherehows-web/tests/acceptance/datasets/dataset/comments-test.js create mode 100644 wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js create mode 100644 wherehows-web/tests/acceptance/datasets/dataset/relations-test.js create mode 100644 wherehows-web/tests/acceptance/datasets/dataset/sample-test.js create mode 100644 wherehows-web/tests/acceptance/datasets/dataset/schema-test.js create mode 100644 wherehows-web/tests/helpers/login/test-login.js diff --git a/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js b/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js new file mode 100644 index 0000000000..a047dbbf67 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/comments-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/comments', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/comments', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/comments'; + + await visit(url); + assert.equal(currentURL(), url, 'comments route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Comments', 'comments tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js b/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js new file mode 100644 index 0000000000..44810571b5 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/ownership-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/ownership', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/ownership', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/ownership'; + + await visit(url); + assert.equal(currentURL(), url, 'ownership route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Ownership', 'ownership tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js b/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js index 9fc748d116..cf9a5e81a6 100644 --- a/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js +++ b/wherehows-web/tests/acceptance/datasets/dataset/properties-test.js @@ -1,20 +1,12 @@ import { test } from 'qunit'; import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; -import { visit, click, find, fillIn, currentURL, waitUntil } from 'ember-native-dom-helpers'; -import { authenticationUrl, testUser, testPassword } from 'wherehows-web/tests/helpers/login/constants'; -import { - loginUserInput, - loginPasswordInput, - loginSubmitButton -} from 'wherehows-web/tests/helpers/login/page-element-constants'; import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; moduleForAcceptance('Acceptance | datasets/dataset/properties', { async beforeEach() { - await visit(authenticationUrl); - await fillIn(loginUserInput, testUser); - await fillIn(loginPasswordInput, testPassword); - await click(loginSubmitButton); + appLogin(); } }); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js b/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js new file mode 100644 index 0000000000..97a947fab3 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/relations-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/relations', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/relations', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/relations'; + + await visit(url); + assert.equal(currentURL(), url, 'relations route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Relations', 'relations tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js b/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js new file mode 100644 index 0000000000..87190272ac --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/sample-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/sample', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/sample', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/sample'; + + await visit(url); + assert.equal(currentURL(), url, 'sample route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Sample Data', 'sample tab is selected'); +}); diff --git a/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js b/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js new file mode 100644 index 0000000000..920a494316 --- /dev/null +++ b/wherehows-web/tests/acceptance/datasets/dataset/schema-test.js @@ -0,0 +1,23 @@ +import { test } from 'qunit'; +import moduleForAcceptance from 'wherehows-web/tests/helpers/module-for-acceptance'; +import { visit, find, currentURL, waitUntil } from 'ember-native-dom-helpers'; +import defaultScenario from 'wherehows-web/mirage/scenarios/default'; +import appLogin from 'wherehows-web/tests/helpers/login/test-login'; + +moduleForAcceptance('Acceptance | datasets/dataset/schema', { + async beforeEach() { + appLogin(); + } +}); + +test('visiting /datasets/dataset/schema', async function(assert) { + assert.expect(2); + defaultScenario(server); + const url = '/datasets/12345/schema'; + + await visit(url); + assert.equal(currentURL(), url, 'schema route is visitable'); + + await waitUntil(() => find('.ivy-tabs-tab')); + assert.equal(find('.ivy-tabs-tab.active').textContent.trim(), 'Schema', 'schema tab is selected'); +}); diff --git a/wherehows-web/tests/helpers/login/test-login.js b/wherehows-web/tests/helpers/login/test-login.js new file mode 100644 index 0000000000..1add395d41 --- /dev/null +++ b/wherehows-web/tests/helpers/login/test-login.js @@ -0,0 +1,16 @@ +import { visit, click, fillIn } from 'ember-native-dom-helpers'; +import { authenticationUrl, testUser, testPassword } from 'wherehows-web/tests/helpers/login/constants'; +import { + loginUserInput, + loginPasswordInput, + loginSubmitButton +} from 'wherehows-web/tests/helpers/login/page-element-constants'; + +const appLogin = async () => { + await visit(authenticationUrl); + await fillIn(loginUserInput, testUser); + await fillIn(loginPasswordInput, testPassword); + await click(loginSubmitButton); +}; + +export default appLogin;