Files
threshold-ui/addons/api/tests/unit/transforms/object-as-array-test.js
T
Carlos Alcaide Corvo b51c8203ee chore: 🤖 Upgrade eslint-plugin-qunit (#2011)
* chore: 🤖 Upgrade eslint-plugin-qunit

* Delete unnecessary assert.expect from tests
2023-12-08 12:56:00 -08:00

54 lines
1.6 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
module('Unit | Transform | object as array', function (hooks) {
setupTest(hooks);
test('it deserializes an object to an array of key value objects', function (assert) {
let transform = this.owner.lookup('transform:object-as-array');
const deserialized = transform.deserialize({
first: 'Hey',
second: 'There',
third: 'Everyone',
});
assert.deepEqual(deserialized, [
{ key: 'first', value: 'Hey' },
{ key: 'second', value: 'There' },
{ key: 'third', value: 'Everyone' },
]);
});
test('it deserializes undefined to an empty object', function (assert) {
let transform = this.owner.lookup('transform:object-as-array');
const deserialized = transform.deserialize(undefined);
assert.deepEqual(deserialized, []);
});
test('it serializes an array of key value objects to an object', function (assert) {
let transform = this.owner.lookup('transform:object-as-array');
const serialized = transform.serialize([
{ key: 'first', value: 'Hey' },
{ key: 'second', value: 'There' },
{ key: 'third', value: 'Everyone' },
]);
assert.deepEqual(serialized, {
first: 'Hey',
second: 'There',
third: 'Everyone',
});
});
test('it serializes an empty array of key value objects to null', function (assert) {
let transform = this.owner.lookup('transform:object-as-array');
const serialized = transform.serialize([]);
assert.deepEqual(serialized, null);
});
});