import { describe, it, expect } from "vitest"; import { findFieldValueByIdentifier } from "./findFieldValueByIdentifier"; import type { RoutingFormResponseData } from "./types"; describe("findFieldValueByIdentifier", () => { const responseData: RoutingFormResponseData = { response: { "field-123": { value: "test@example.com" }, "field-456": { value: "John Doe" }, }, fields: [ { id: "field-123", label: "E-mail", identifier: "email", type: "text" }, { id: "field-456", label: "Name", identifier: "name", type: "text" }, ], }; it("returns the correct value for an existing field identifier", async () => { const result = findFieldValueByIdentifier(responseData, "email"); expect(result.success).toBe(true); // @ts-expect-error we know data is defined here expect(result.data).toBe("test@example.com"); }); it("throws an error and logs when identifier is not found", () => { const invalidIdentifier = "unknown"; const result = findFieldValueByIdentifier(responseData, invalidIdentifier); expect(result.success).toBe(false); // @ts-expect-error we know error is defined here expect(result.error).toBe(`Field with identifier ${invalidIdentifier} not found`); }); });