84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
import { module, test } from 'qunit';
|
|
import { setupTest } from 'ember-qunit';
|
|
|
|
module('Unit | Adapter | kmip/role', function (hooks) {
|
|
setupTest(hooks);
|
|
|
|
let serializeTests = [
|
|
[
|
|
'operation_all is the only operation item present after serialization',
|
|
{
|
|
serialize() {
|
|
return { operation_all: true, operation_get: true, operation_create: true, tls_ttl: '10s' };
|
|
},
|
|
record: {
|
|
nonOperationFields: ['tlsTtl'],
|
|
},
|
|
},
|
|
{
|
|
operation_all: true,
|
|
tls_ttl: '10s',
|
|
},
|
|
],
|
|
[
|
|
'serialize does not include nonOperationFields values if they are not set',
|
|
{
|
|
serialize() {
|
|
return { operation_all: true, operation_get: true, operation_create: true };
|
|
},
|
|
record: {
|
|
nonOperationFields: ['tlsTtl'],
|
|
},
|
|
},
|
|
{
|
|
operation_all: true,
|
|
},
|
|
],
|
|
[
|
|
'operation_none is the only operation item present after serialization',
|
|
{
|
|
serialize() {
|
|
return { operation_none: true, operation_get: true, operation_add_attribute: true, tls_ttl: '10s' };
|
|
},
|
|
record: {
|
|
nonOperationFields: ['tlsTtl'],
|
|
},
|
|
},
|
|
{
|
|
operation_none: true,
|
|
tls_ttl: '10s',
|
|
},
|
|
],
|
|
[
|
|
'operation_all and operation_none are removed if not truthy',
|
|
{
|
|
serialize() {
|
|
return {
|
|
operation_all: false,
|
|
operation_none: false,
|
|
operation_get: true,
|
|
operation_add_attribute: true,
|
|
operation_destroy: true,
|
|
};
|
|
},
|
|
record: {
|
|
nonOperationFields: ['tlsTtl'],
|
|
},
|
|
},
|
|
{
|
|
operation_get: true,
|
|
operation_add_attribute: true,
|
|
operation_destroy: true,
|
|
},
|
|
],
|
|
];
|
|
for (let testCase of serializeTests) {
|
|
let [name, snapshotStub, expected] = testCase;
|
|
test(`adapter serialize: ${name}`, function (assert) {
|
|
let adapter = this.owner.lookup('adapter:kmip/role');
|
|
let result = adapter.serialize(snapshotStub);
|
|
assert.deepEqual(result, expected, 'output matches expected');
|
|
});
|
|
}
|
|
});
|