github.com/hspak/nomad@v0.7.2-0.20180309000617-bc4ae22a39a5/ui/tests/acceptance/application-errors-test.js (about) 1 import { find, visit } from 'ember-native-dom-helpers'; 2 import moduleForAcceptance from 'nomad-ui/tests/helpers/module-for-acceptance'; 3 import { test } from 'qunit'; 4 5 moduleForAcceptance('Acceptance | application errors ', { 6 beforeEach() { 7 server.create('agent'); 8 server.create('node'); 9 server.create('job'); 10 }, 11 }); 12 13 test('transitioning away from an error page resets the global error', function(assert) { 14 server.pretender.get('/v1/nodes', () => [500, {}, null]); 15 16 visit('/clients'); 17 18 andThen(() => { 19 assert.ok(find('[data-test-error]'), 'Application has errored'); 20 }); 21 22 visit('/jobs'); 23 24 andThen(() => { 25 assert.notOk(find('[data-test-error]'), 'Application is no longer in an error state'); 26 }); 27 }); 28 29 test('the 403 error page links to the ACL tokens page', function(assert) { 30 const job = server.db.jobs[0]; 31 32 server.pretender.get(`/v1/job/${job.id}`, () => [403, {}, null]); 33 34 visit(`/jobs/${job.id}`); 35 36 andThen(() => { 37 assert.ok(find('[data-test-error]'), 'Error message is shown'); 38 assert.equal( 39 find('[data-test-error] .title').textContent, 40 'Not Authorized', 41 'Error message is for 403' 42 ); 43 }); 44 45 andThen(() => { 46 click('[data-test-error-acl-link]'); 47 }); 48 49 andThen(() => { 50 assert.equal( 51 currentURL(), 52 '/settings/tokens', 53 'Error message contains a link to the tokens page' 54 ); 55 }); 56 });