/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { module, test } from 'qunit'; import { setupRenderingTest } from 'ember-qunit'; import { render } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; import { setupMirage } from 'ember-cli-mirage/test-support'; import { capabilitiesStub } from 'vault/tests/helpers/stubs'; module('Integration | Component | database-role-edit', function (hooks) { setupRenderingTest(hooks); setupMirage(hooks); hooks.beforeEach(function () { this.store = this.owner.lookup('service:store'); this.store.pushPayload('database-role', { modelName: 'database/role', database: ['my-mongodb-database'], backend: 'database', type: 'static', name: 'my-static-role', id: 'my-static-role', }); this.store.pushPayload('database-role', { modelName: 'database/role', database: ['my-mongodb-database'], backend: 'database', type: 'dynamic', name: 'my-dynamic-role', id: 'my-dynamic-role', }); this.modelStatic = this.store.peekRecord('database/role', 'my-static-role'); this.modelDynamic = this.store.peekRecord('database/role', 'my-dynamic-role'); }); test('it should show Get credentials button when a user has the correct policy', async function (assert) { this.server.post('/sys/capabilities-self', capabilitiesStub('database/static-creds/my-role', ['read'])); await render(hbs``); assert.dom('[data-test-database-role-creds="static"]').exists('Get credentials button exists'); }); test('it should show Generate credentials button when a user has the correct policy', async function (assert) { this.server.post('/sys/capabilities-self', capabilitiesStub('database/creds/my-role', ['read'])); await render(hbs``); assert.dom('[data-test-database-role-creds="dynamic"]').exists('Generate credentials button exists'); }); });