import { Nullable } from "@reins/types"; import { FormAdapter } from "../form-adapter"; type InitialValues = { name: string | null; surname: string | null; age: number | null; address: Nullable<{ street: string; city: string; country: string; }>; }; const initialValues: InitialValues = { name: null, surname: null, age: null, address: null, }; describe("Form Adapter [ Touched ]", () => { let form = new FormAdapter(initialValues); beforeEach(() => { form = new FormAdapter(initialValues); }); it("should allow to set field touched", async () => { expect(form.getFieldTouched("name")).toBeFalsy(); form.setFieldTouched("name", true); expect(form.getFieldTouched("name")).toBeTruthy(); }); it("should set field touched on value change", async () => { expect(form.getFieldDirty("name")).toBeFalsy(); form.setFieldValue("name", "Some name"); expect(form.getFieldDirty("name")).toBeTruthy(); expect(form.getFieldValue("name")).toBe("Some name"); }); });