Add tests

This commit is contained in:
Adria Navarro 2024-03-25 14:17:45 +01:00
parent 8a13446fe4
commit 56ed9a477f
1 changed files with 47 additions and 19 deletions

View File

@ -127,31 +127,59 @@ describe("Test that the object processing works correctly", () => {
}) })
describe("check arrays", () => { describe("check arrays", () => {
describe("index with square brackets", () => {
it.each([ it.each([
[0, "1"], [0, "1"],
[1, "2"], [1, "2"],
])("should handle an array of primitive types", async (index, expected) => { ])("should handle an array of primitive types", async (index, expected) => {
const json = [1, 2, 3] const json = [1, 2, 3]
const output = await processString(`{{ testing.${index} }}`, { const output = await processString(`{{ testing.[${index}] }}`, {
testing: json, testing: json,
}) })
expect(output).toEqual(expected) expect(output).toEqual(expected)
}) })
it("should handle an array of object types", async () => { it("should handle an array of objects", async () => {
const json = [{ value: 1 }, { value: 2 }, { value: 3 }] const json = [{ value: 1 }, { value: 2 }, { value: 3 }]
const output = await processString("{{ testing.0 }}", { const output = await processString("{{ testing.[1] }}", {
testing: json, testing: json,
}) })
expect(output).toEqual({ value: 1 }) expect(output).toEqual('{"value":2}')
})
it("should handle nesting properties in an array of objects", async () => {
const json = [{ value: 1 }, { value: 2 }, { value: 3 }]
const output = await processString("{{ testing.[1].value }}", {
testing: json,
})
expect(output).toEqual("2")
})
})
describe("index without square brackets", () => {
it("should not handle an array of primitive types", async () => {
const json = [1, 2, 3]
const output = await processString(`{{ testing.1 }}`, {
testing: json,
})
expect(output).toEqual("{{ testing.1 }}")
})
it("should not handle an array of objects", async () => {
const json = [{ value: 1 }, { value: 2 }, { value: 3 }]
const output = await processString("{{ testing.1 }}", {
testing: json,
})
expect(output).toEqual("{{ testing.1 }}")
}) })
it("should handle nesting properties in an array of object types", async () => { it("should handle nesting properties in an array of object types", async () => {
const json = [{ value: 1 }, { value: 2 }, { value: 3 }] const json = [{ value: 1 }, { value: 2 }, { value: 3 }]
const output = await processString("{{ testing.0.value }}", { const output = await processString("{{ testing.1.value }}", {
testing: json, testing: json,
}) })
expect(output).toEqual("1") expect(output).toEqual("2")
})
}) })
}) })