/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { module, test } from 'qunit';
import { setupRenderingTest } from 'vault/tests/helpers';
import { GENERAL } from 'vault/tests/helpers/general-selectors';
import { render } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
import engineDisplayData from 'vault/helpers/engines-display-data';
import { keyMgmtMockModel } from 'vault/tests/helpers/secret-engine/mocks';
module('Integration | Component | SecretEngine::PageHeader', function (hooks) {
setupRenderingTest(hooks);
hooks.beforeEach(function () {
this.model = keyMgmtMockModel;
});
test('it shows page header title, description, and general settings tab', async function (assert) {
assert.expect(4);
await render(hbs`
`);
assert.dom(GENERAL.tab('general-settings')).exists('contains general settings tab');
assert.dom(GENERAL.tab('plugin-settings')).doesNotExist('does not contain plugin settings tab');
assert
.dom(GENERAL.hdsPageHeaderTitle)
.hasText(`${this.model.secretsEngine.id} configuration`, 'displays page header title');
assert
.dom(GENERAL.hdsPageHeaderDescription)
.hasText(
engineDisplayData(this.model.secretsEngine.type).displayName,
'displays page header description'
);
});
test('it shows page header title, description, and general and plugin settings tab for configurable secret engines', async function (assert) {
assert.expect(4);
this.model.secretsEngine = {
type: 'aws',
id: 'aws',
config: {
region: 'us-west-2',
access_key: '123-key',
iam_endpoint: 'iam-endpoint',
sts_endpoint: 'sts-endpoint',
max_retries: 1,
},
};
await render(hbs`
`);
assert.dom(GENERAL.tab('general-settings')).exists('contains general settings tab');
assert.dom(GENERAL.tab('plugin-settings')).exists('contains plugin settings tab');
assert
.dom(GENERAL.hdsPageHeaderTitle)
.hasText(`${this.model.secretsEngine.id} configuration`, 'displays page header title');
assert
.dom(GENERAL.hdsPageHeaderDescription)
.hasText(
engineDisplayData(this.model.secretsEngine.type).displayName,
'displays page header description'
);
});
});