kopia lustrzana https://github.com/FacilMap/facilmap
54 wiersze
2.0 KiB
TypeScript
54 wiersze
2.0 KiB
TypeScript
|
import { expect, test } from "vitest";
|
||
|
import { mergeTypeObject } from "../edit-type-utils";
|
||
|
|
||
|
function merge(oldType: any, newType: any, targetType: any): any {
|
||
|
mergeTypeObject(oldType, newType, targetType);
|
||
|
return targetType;
|
||
|
}
|
||
|
|
||
|
test('mergeTypeObjects', () => {
|
||
|
expect(merge(
|
||
|
{ fields: [
|
||
|
{ name: "field1", test: "string" },
|
||
|
{ name: "field2", test: "string" },
|
||
|
{ name: "field3", test: "string" },
|
||
|
{ name: "field4", test: "string" },
|
||
|
{ name: "field5", test: "string" },
|
||
|
{ name: "field6", test: "string" },
|
||
|
{ name: "field7", test: "string" }
|
||
|
] },
|
||
|
{ fields: [
|
||
|
{ name: "field1", test: "string1" }, // Update test
|
||
|
// Delete field2
|
||
|
// Delete field3
|
||
|
{ name: "field4" }, // Delete test
|
||
|
{ name: "field4a", test: "string4a" }, // New field
|
||
|
{ name: "field5", test: "string", test2: "bla" }, // Add test2
|
||
|
{ name: "field6", test: "string6" }, // Update test
|
||
|
{ name: "field7a", test: "string" }, // Rename
|
||
|
{ name: "field8", test: "string" } // New field
|
||
|
] },
|
||
|
{ fields: [
|
||
|
{ oldName: "field1", name: "field1", test: "string" }, // Unchanged
|
||
|
{ oldName: "field4", name: "field4a", test: "string" }, // Rename and reorder
|
||
|
{ oldName: "field2", name: "field2", test: "string" }, // Unchanged
|
||
|
{ oldName: "field3", name: "field3b", test: "string2" }, // Rename and update test
|
||
|
{ name: "newField", test: "string3a" }, // New field
|
||
|
{ oldName: "field5", name: "field5", test: "string5" }, // Update test
|
||
|
// Delete field6
|
||
|
{ oldName: "field7", name: "field7", test: "string" }, // Unchanged
|
||
|
{ name: "field8", test: "string8" } // New field (name conflict)
|
||
|
] }
|
||
|
)).toEqual(
|
||
|
{ fields: [
|
||
|
{ oldName: "field1", name: "field1", test: "string1" },
|
||
|
{ oldName: "field4", name: "field4a" },
|
||
|
{ oldName: "field4a", name: "field4a", test: "string4a" },
|
||
|
{ name: "newField", test: "string3a" },
|
||
|
{ oldName: "field5", name: "field5", test: "string5", test2: "bla" },
|
||
|
{ oldName: "field7a", name: "field7a", test: "string" },
|
||
|
{ oldName: "field8", name: "field8", test: "string" },
|
||
|
{ name: "field8", test: "string8" }
|
||
|
] }
|
||
|
);
|
||
|
});
|