You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
3 years ago
|
/**
|
||
|
* @filedescription Merge Strategy Tests
|
||
|
*/
|
||
|
/* global it, describe, beforeEach */
|
||
|
|
||
|
"use strict";
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// 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
|
||
|
});
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|