UNPKG

rx-player

Version:
49 lines (43 loc) 1.32 kB
import { describe, it, expect } from "vitest"; import deepMerge from "../deep_merge"; describe("utils - deep_merge", () => { it("should return the first argument if no other arguments", () => { const obj1 = { a: 1 }; expect(deepMerge(obj1)).toStrictEqual(obj1); }); it("should concat if no common key is found", () => { const obj1 = { a: 1 }; const obj2 = { b: 2 }; const result = { a: 1, b: 2 }; expect(deepMerge(obj1, obj2)).toStrictEqual(result); }); it("should override the 1st object with the second", () => { const obj1 = { a: 1 }; const obj2 = { a: 2 }; const result = { a: 2 }; expect(deepMerge(obj1, obj2)).toStrictEqual(result); }); it("should return a deeply merged object", () => { const obj1 = { a: { b: 1 } }; const obj2 = { a: { c: 2 } }; const result = { a: { b: 1, c: 2 } }; expect(deepMerge(obj1, obj2)).toStrictEqual(result); }); it("should be able to merge multiple objects", () => { const obj1 = { a: { b: 1 }, d: { e: 1 } }; const obj2 = { a: { c: 2 } }; const obj3 = { a: { f: 3 }, d: { g: 2 } }; const result = { a: { b: 1, c: 2, f: 3, }, d: { e: 1, g: 2, }, }; expect(deepMerge(obj1, obj2, obj3)).toStrictEqual(result); }); });