Spaces:
Sleeping
Sleeping
| /** | |
| * @filedescription Merge Strategy Tests | |
| */ | |
| /* global it, describe, beforeEach */ | |
| ; | |
| //----------------------------------------------------------------------------- | |
| // Requirements | |
| //----------------------------------------------------------------------------- | |
| const assert = require("chai").assert; | |
| const { MergeStrategy } = require("../src/"); | |
| //----------------------------------------------------------------------------- | |
| // Class | |
| //----------------------------------------------------------------------------- | |
| describe("MergeStrategy", () => { | |
| describe("overwrite()", () => { | |
| it("should overwrite the first value with the second when the second is defined", () => { | |
| const result = MergeStrategy.overwrite(1, 2); | |
| assert.strictEqual(result, 2); | |
| }); | |
| it("should overwrite the first value with the second when the second is undefined", () => { | |
| const result = MergeStrategy.overwrite(1, undefined); | |
| assert.strictEqual(result, undefined); | |
| }); | |
| }); | |
| describe("replace()", () => { | |
| it("should overwrite the first value with the second when the second is defined", () => { | |
| const result = MergeStrategy.replace(1, 2); | |
| assert.strictEqual(result, 2); | |
| }); | |
| it("should return the first value when the second is undefined", () => { | |
| const result = MergeStrategy.replace(1, undefined); | |
| assert.strictEqual(result, 1); | |
| }); | |
| }); | |
| describe("assign()", () => { | |
| it("should merge properties from two objects when called", () => { | |
| const object1 = { foo: 1, bar: 3 }; | |
| const object2 = { foo: 2 }; | |
| const result = MergeStrategy.assign(object1, object2); | |
| assert.deepStrictEqual(result, { | |
| foo: 2, | |
| bar: 3 | |
| }); | |
| }); | |
| }); | |
| }); | |