open-vault/ui/tests/unit/components/identity/edit-form-test.js

70 lines
1.9 KiB
JavaScript
Raw Normal View History

import EmberObject from '@ember/object';
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import sinon from 'sinon';
module('Unit | Component | identity/edit-form', function(hooks) {
setupTest(hooks);
let testCases = [
{
identityType: 'entity',
mode: 'create',
expected: 'vault.cluster.access.identity',
},
{
identityType: 'entity',
mode: 'edit',
expected: 'vault.cluster.access.identity.show',
},
{
identityType: 'entity-merge',
mode: 'merge',
expected: 'vault.cluster.access.identity',
},
{
identityType: 'entity-alias',
mode: 'create',
expected: 'vault.cluster.access.identity.aliases',
},
{
identityType: 'entity-alias',
mode: 'edit',
expected: 'vault.cluster.access.identity.aliases.show',
},
{
identityType: 'group',
mode: 'create',
expected: 'vault.cluster.access.identity',
},
{
identityType: 'group',
mode: 'edit',
expected: 'vault.cluster.access.identity.show',
},
{
identityType: 'group-alias',
mode: 'create',
expected: 'vault.cluster.access.identity.aliases',
},
{
identityType: 'group-alias',
mode: 'edit',
expected: 'vault.cluster.access.identity.aliases.show',
},
];
testCases.forEach(function(testCase) {
let model = EmberObject.create({
identityType: testCase.identityType,
rollbackAttributes: sinon.spy(),
});
test(`it computes cancelLink properly: ${testCase.identityType} ${testCase.mode}`, function(assert) {
let component = this.owner.lookup('component:identity/edit-form');
component.set('mode', testCase.mode);
component.set('model', model);
assert.equal(component.get('cancelLink'), testCase.expected, 'cancel link is correct');
});
});
});