github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/acceptance/global-header-test.js (about) 1 /* eslint-disable ember-a11y-testing/a11y-audit-called */ 2 import { module, test } from 'qunit'; 3 import { click, visit, currentURL } from '@ember/test-helpers'; 4 import { setupApplicationTest } from 'ember-qunit'; 5 import { setupMirage } from 'ember-cli-mirage/test-support'; 6 import Layout from 'nomad-ui/tests/pages/layout'; 7 8 let managementToken; 9 10 module('Acceptance | global header', function (hooks) { 11 setupApplicationTest(hooks); 12 setupMirage(hooks); 13 14 test('it diplays no links', async function (assert) { 15 server.create('agent'); 16 17 await visit('/'); 18 19 assert.false(Layout.navbar.end.vaultLink.isVisible); 20 assert.false(Layout.navbar.end.vaultLink.isVisible); 21 }); 22 23 test('it diplays both links', async function (assert) { 24 server.create('agent', 'withConsulLink', 'withVaultLink'); 25 26 await visit('/'); 27 28 assert.true(Layout.navbar.end.vaultLink.isVisible); 29 assert.true(Layout.navbar.end.vaultLink.isVisible); 30 }); 31 32 test('it diplays Consul link', async function (assert) { 33 server.create('agent', 'withConsulLink'); 34 35 await visit('/'); 36 37 assert.true(Layout.navbar.end.consulLink.isVisible); 38 assert.equal(Layout.navbar.end.consulLink.text, 'Consul'); 39 assert.equal(Layout.navbar.end.consulLink.link, 'http://localhost:8500/ui'); 40 }); 41 42 test('it diplays Vault link', async function (assert) { 43 server.create('agent', 'withVaultLink'); 44 45 await visit('/'); 46 47 assert.true(Layout.navbar.end.vaultLink.isVisible); 48 assert.equal(Layout.navbar.end.vaultLink.text, 'Vault'); 49 assert.equal(Layout.navbar.end.vaultLink.link, 'http://localhost:8200/ui'); 50 }); 51 52 test('it diplays SignIn', async function (assert) { 53 managementToken = server.create('token'); 54 55 window.localStorage.clear(); 56 57 await visit('/'); 58 assert.true(Layout.navbar.end.signInLink.isVisible); 59 assert.false(Layout.navbar.end.profileDropdown.isVisible); 60 }); 61 62 test('it diplays a Profile dropdown', async function (assert) { 63 managementToken = server.create('token'); 64 65 window.localStorage.nomadTokenSecret = managementToken.secretId; 66 67 await visit('/'); 68 assert.true(Layout.navbar.end.profileDropdown.isVisible); 69 assert.false(Layout.navbar.end.signInLink.isVisible); 70 await Layout.navbar.end.profileDropdown.open(); 71 72 await click('.dropdown-options .ember-power-select-option:nth-child(1)'); 73 assert.equal( 74 currentURL(), 75 '/settings/tokens', 76 'Authroization link takes you to the tokens page' 77 ); 78 79 await Layout.navbar.end.profileDropdown.open(); 80 await click('.dropdown-options .ember-power-select-option:nth-child(2)'); 81 assert.equal(window.localStorage.nomadTokenSecret, null, 'Token is wiped'); 82 assert.equal(currentURL(), '/jobs', 'After signout, back on the jobs page'); 83 }); 84 });