facilmap/frontend/src/utils/__tests__/utils.test.ts

105 wiersze
2.7 KiB
TypeScript

import { mergeObject } from "../utils";
test('mergeObject', () => {
interface TestObject {
str?: string;
obj?: {
str?: string;
}
}
function merge(oldObject: TestObject, newObject: TestObject, targetObject: TestObject): TestObject {
mergeObject(oldObject, newObject, targetObject);
return targetObject;
}
expect(merge({ str: "old" }, { str: "old" }, { str: "custom" }))
.toEqual({ str: "custom" });
expect(merge({ }, { }, { str: "custom" }))
.toEqual({ str: "custom" });
expect(merge({ str: "old" }, { str: "old" }, { }))
.toEqual({ });
expect(merge({ }, { }, { }))
.toEqual({ });
expect(merge({ str: "old" }, { str: "new" }, { str: "custom" }))
.toEqual({ str: "new" });
expect(merge({ }, { str: "new" }, { str: "custom" }))
.toEqual({ str: "new" });
expect(merge({ str: "old" }, { }, { str: "custom" }))
.toEqual({ });
expect(merge({ str: "old" }, { str: "new" }, { }))
.toEqual({ str: "new" });
expect(merge({ }, { str: "new" }, { }))
.toEqual({ str: "new" });
expect(merge({ obj: { str: "old" } }, { obj: { str: "old" } }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "custom" } });
expect(merge({ obj: { } }, { obj: { } }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "custom" } });
expect(merge({ }, { }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "custom" } });
expect(merge({ obj: { str: "old" } }, { obj: { str: "old" } }, { obj: { } }))
.toEqual({ obj: { } });
expect(merge({ obj: { } }, { obj: { } }, { obj: { } }))
.toEqual({ obj: { } });
expect(merge({ }, { }, { obj: { } }))
.toEqual({ obj: { } });
expect(merge({ obj: { str: "old" } }, { obj: { str: "old" } }, { }))
.toEqual({ });
expect(merge({ obj: { } }, { obj: { } }, { }))
.toEqual({ });
expect(merge({ obj: { str: "old" } }, { obj: { str: "new" } }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "new" } });
expect(merge({ obj: { } }, { obj: { str: "new" } }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "new" } });
expect(merge({ }, { obj: { str: "new" } }, { obj: { str: "custom" } }))
.toEqual({ obj: { str: "new" } });
expect(merge({ obj: { str: "old" } }, { obj: { } }, { obj: { str: "custom" } }))
.toEqual({ obj: { } });
expect(merge({ obj: { str: "old" } }, { }, { obj: { str: "custom" } }))
.toEqual({ });
expect(merge({ obj: { str: "old" } }, { obj: { str: "new" } }, { obj: { } }))
.toEqual({ obj: { str: "new" } });
expect(merge({ obj: { } }, { obj: { str: "new" } }, { obj: { } }))
.toEqual({ obj: { str: "new" } });
expect(merge({ obj: { str: "old" } }, { obj: { str: "new" } }, { }))
.toEqual({ obj: { str: "new" } });
expect(merge({ obj: { } }, { obj: { str: "new" } }, { }))
.toEqual({ obj: { str: "new" } });
});