/** * 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``); 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``); 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``); 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'); }); });