--- /dev/null
+import keyMirror from 'utils/KeyMirror.js';
+
+describe('KeyMirror', () => {
+ it('valid key mirror with nulls', () => {
+ const obj = {
+ TIER_SUPPORT: null,
+ INVENTORY: null,
+ VNF_SEARCH: null
+ }
+ const mirror = keyMirror(obj);
+
+ for (let key in obj) {
+ expect(mirror).toHaveProperty(key);
+ expect(JSON.stringify(mirror[key])).toBe(JSON.stringify(Symbol(key)));
+ }
+ });
+
+ it('valid key mirror with undefined', () => {
+ const obj = {
+ TIER_SUPPORT: undefined,
+ INVENTORY: undefined,
+ VNF_SEARCH: undefined
+ }
+ const mirror = keyMirror(obj);
+
+ for (let key in obj) {
+ expect(mirror).toHaveProperty(key);
+ expect(JSON.stringify(mirror[key])).toBe(JSON.stringify(Symbol(key)));
+ }
+ });
+
+ it('valid key mirror with values', () => {
+ let preMirrorList = {
+ TIER_SUPPORT: 'tier support',
+ INVENTORY: 'inventory',
+ VNF_SEARCH: 'vnf search'
+ };
+ const mirror = keyMirror(preMirrorList);
+
+ for (let key in preMirrorList) {
+ expect(mirror).toHaveProperty(key);
+ expect(JSON.stringify(mirror[key])).toBe(JSON.stringify(preMirrorList[key]));
+ }
+ });
+
+ it('valid key mirror with objects', () => {
+ let preMirrorList = {
+ TIER_SUPPORT: {
+ name: 'tier support'
+ },
+ INVENTORY: {
+ name: 'inventory'
+ },
+ VNF_SEARCH: {
+ name: 'vnf search'
+ }
+ };
+ const mirror = keyMirror(preMirrorList);
+
+ for (let key in preMirrorList) {
+ expect(mirror).toHaveProperty(key);
+ expect(JSON.stringify(mirror[key])).toBe(JSON.stringify(preMirrorList[key]));
+ }
+ });
+
+ it('invalid key mirror', () => {
+ let preMirrorList = [
+ 'tier support',
+ 'inventory',
+ 'vnf search'
+ ]
+ const mirror = () => {
+ keyMirror(preMirrorList);
+ }
+
+ expect(mirror).toThrow(Error);
+ expect(mirror).toThrowError('keyMirror(...): Argument must be an object.');
+ });
+})