/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { currentURL, find, visit, settled } from '@ember/test-helpers'; import { module, test } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; import { v4 as uuidv4 } from 'uuid'; import backendListPage from 'vault/tests/pages/secrets/backends'; import mountSecrets from 'vault/tests/pages/settings/mount-secret-backend'; import authPage from 'vault/tests/pages/auth'; import logout from 'vault/tests/pages/logout'; module('Acceptance | settings', function (hooks) { setupApplicationTest(hooks); hooks.beforeEach(function () { this.uid = uuidv4(); return authPage.login(); }); hooks.afterEach(function () { return logout.visit(); }); test('settings', async function (assert) { const type = 'consul'; const path = `settings-path-${this.uid}`; // mount unsupported backend await visit('/vault/settings/mount-secret-backend'); assert.strictEqual(currentURL(), '/vault/settings/mount-secret-backend'); await mountSecrets.selectType(type); await mountSecrets .next() .path(path) .toggleOptions() .enableDefaultTtl() .defaultTTLUnit('s') .defaultTTLVal(100) .submit(); await settled(); assert.ok( find('[data-test-flash-message]').textContent.trim(), `Successfully mounted '${type}' at '${path}'!` ); await settled(); assert.strictEqual(currentURL(), `/vault/secrets`, 'redirects to secrets page'); const row = backendListPage.rows.filterBy('path', path + '/')[0]; await row.menu(); await backendListPage.configLink(); assert.strictEqual(currentURL(), `/vault/secrets/${path}/configuration`, 'navigates to the config page'); }); });