vault/ui/tests/unit/utils/kmip-role-fields-test.js
Chelsea Shaw 74c4e0bd86
UI: Update model docs (#28495)
* rename validators util into model-helpers folder

* move kmip-role-fields to model-helpers

* fill out docs

* Move database-helpers into model-helpers

* broom
2024-09-24 14:07:06 -07:00

53 lines
1.5 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import {
nonOperationFields,
operationFields,
operationFieldsWithoutSpecial,
} from 'vault/utils/model-helpers/kmip-role-fields';
module('Unit | Util | kmip role fields', function (hooks) {
setupTest(hooks);
[
{
name: 'when fields is empty',
fields: [],
opFields: [],
nonOpFields: [],
opWithoutSpecial: [],
},
{
name: 'when no op fields',
fields: ['foo', 'bar'],
opFields: [],
nonOpFields: ['foo', 'bar'],
opWithoutSpecial: [],
},
{
name: 'when op fields',
fields: ['foo', 'bar', 'operationFoo', 'operationBar', 'operationAll'],
opFields: ['operationFoo', 'operationBar', 'operationAll'],
nonOpFields: ['foo', 'bar'],
opWithoutSpecial: ['operationFoo', 'operationBar'],
},
].forEach(({ name, fields, opFields, nonOpFields, opWithoutSpecial }) => {
test(`${name}`, function (assert) {
const originalFields = JSON.parse(JSON.stringify(fields));
assert.deepEqual(operationFields(fields), opFields, 'operation fields correct');
assert.deepEqual(nonOperationFields(fields), nonOpFields, 'non operation fields');
assert.deepEqual(
operationFieldsWithoutSpecial(fields),
opWithoutSpecial,
'operation fields without special'
);
assert.deepEqual(fields, originalFields, 'does not mutate the original');
});
});
});