vault/ui/tests/integration/components/app-footer-test.js
Chelsea Shaw cb217388d4
UI: handle reduced disclosure endpoints (#24262)
* Create app-footer component with tests

* glimmerize vault route + controller

* Add dev mode badge to new footer

* Fix version on dashboard

* update app-footer tests

* update version title component

* Handle case for chroot namespace fail on health check

* cleanup

* fix ent tests

* add missing headers

* extra version fetch on login success, clear version on logout and seal

* Add coverage for clearing version on seal

* rename isOSS to isCommunity

* remove is-version helper

* test version in footer on unseal flow

* fix enterprise test

* VAULT-21399 test coverage

* VAULT-21400 test coverage
2023-12-04 14:28:16 -06:00

48 lines
1.9 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { module, test } from 'qunit';
import { setupRenderingTest } from 'vault/tests/helpers';
import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
const selectors = {
versionDisplay: '[data-test-footer-version]',
upgradeLink: '[data-test-footer-upgrade-link]',
docsLink: '[data-test-footer-documentation-link]',
};
module('Integration | Component | app-footer', function (hooks) {
setupRenderingTest(hooks);
hooks.beforeEach(function () {
this.versionSvc = this.owner.lookup('service:version');
});
test('it renders a sane default', async function (assert) {
await render(hbs`<AppFooter />`);
assert.dom(selectors.versionDisplay).hasText('Vault', 'Vault without version by default');
assert.dom(selectors.upgradeLink).hasText('Upgrade to Vault Enterprise', 'upgrade link shows');
assert.dom(selectors.docsLink).hasText('Documentation', 'displays docs link');
});
test('it renders for community version', async function (assert) {
this.versionSvc.version = '1.15.1';
this.versionSvc.type = 'community';
await render(hbs`<AppFooter />`);
assert.dom(selectors.versionDisplay).hasText('Vault 1.15.1', 'Vault shows version when available');
assert.dom(selectors.upgradeLink).hasText('Upgrade to Vault Enterprise', 'upgrade link shows');
assert.dom(selectors.docsLink).hasText('Documentation', 'displays docs link');
});
test('it renders for ent version', async function (assert) {
this.versionSvc.version = '1.15.1+hsm';
this.versionSvc.type = 'enterprise';
await render(hbs`<AppFooter />`);
assert.dom(selectors.versionDisplay).hasText('Vault 1.15.1+hsm', 'shows version when available');
assert.dom(selectors.upgradeLink).doesNotExist('upgrade link not shown');
assert.dom(selectors.docsLink).hasText('Documentation', 'displays docs link');
});
});