33 lines
1.5 KiB
TypeScript
33 lines
1.5 KiB
TypeScript
|
|
import { removeDefaultProperty } from "./llmExtract";
|
||
|
|
|
||
|
|
describe("removeDefaultProperty", () => {
|
||
|
|
it("should remove the default property from a simple object", () => {
|
||
|
|
const input = { default: "test", test: "test" };
|
||
|
|
const expectedOutput = { test: "test" };
|
||
|
|
expect(removeDefaultProperty(input)).toEqual(expectedOutput);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("should remove the default property from a nested object", () => {
|
||
|
|
const input = { default: "test", nested: { default: "nestedTest", test: "nestedTest" } };
|
||
|
|
const expectedOutput = { nested: { test: "nestedTest" } };
|
||
|
|
expect(removeDefaultProperty(input)).toEqual(expectedOutput);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("should remove the default property from an array of objects", () => {
|
||
|
|
const input = { array: [{ default: "test1", test: "test1" }, { default: "test2", test: "test2" }] };
|
||
|
|
const expectedOutput = { array: [{ test: "test1" }, { test: "test2" }] };
|
||
|
|
expect(removeDefaultProperty(input)).toEqual(expectedOutput);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("should handle objects without a default property", () => {
|
||
|
|
const input = { test: "test" };
|
||
|
|
const expectedOutput = { test: "test" };
|
||
|
|
expect(removeDefaultProperty(input)).toEqual(expectedOutput);
|
||
|
|
});
|
||
|
|
|
||
|
|
it("should handle null and non-object inputs", () => {
|
||
|
|
expect(removeDefaultProperty(null)).toBeNull();
|
||
|
|
expect(removeDefaultProperty("string")).toBe("string");
|
||
|
|
expect(removeDefaultProperty(123)).toBe(123);
|
||
|
|
});
|
||
|
|
});
|