import { merge } from '../../src/lib/merge'; describe(`File Importing`, () => { it('should merge', async () => { const a = { a: 1, b: 2, ar: [ 1, 2 ] }; const b = { a: 2, c: 3, ar: [ 3, 4 ] } const merged = merge([a, b]); expect(merged).toHaveProperty('a', 2); expect(merged).toHaveProperty('c', 3); expect(merged).toHaveProperty('ar', [ 3, 4]); }); it('should merge and concat array with option set', async () => { const a = { a: 1, b: 2, ar: [ 1, 2 ] }; const b = { a: 2, c: 3, ar: [ 3, 4 ] } const merged = merge([a, b], { concatArrays: true }); expect(merged).toHaveProperty('a', 2); expect(merged).toHaveProperty('c', 3); expect(merged).toHaveProperty('ar', [ 1, 2, 3, 4]); }); it('should merge and overwrite property when overwrite option set', async () => { const a = { a: 1, b: 2, c: { c1: 1, c2: 2, }, ar: [ 1, 2 ] }; const b = { a: 2, c: { c3: 3, c4: 4, }, ar: [ 3, 4 ] } const merged = merge([a, b], { concatArrays: false, overwrite: true }); expect(merged).toHaveProperty('a', 2); expect(merged).toHaveProperty('c', { c3: 3, c4: 4 }); expect(merged).toHaveProperty('ar', [ 3, 4]); }); it('should merge and overwrite property when overwrite option set and concat arrays when concatArrays true', async () => { const a = { a: 1, b: 2, c: { c1: 1, c2: 2, }, ar: [ 1, 2 ] }; const b = { a: 2, c: { c3: 3, c4: 4, }, ar: [ 3, 4 ] } const merged = merge([a, b], { concatArrays: true, overwrite: true }); expect(merged).toHaveProperty('a', 2); expect(merged).toHaveProperty('c', { c3: 3, c4: 4 }); expect(merged).toHaveProperty('ar', [ 1, 2, 3, 4]); }); });