Files
Clintchiz 64ab20cc95
Quality / quality (ubuntu-latest) (push) Failing after 22s
Quality / quality (windows-latest) (push) Canceled after 0s
feat: add application productivity foundations
2026-08-23 11:13:03 +05:30

15 lines
576 B
TypeScript

import { expect, test } from "bun:test";
import { useForm } from "../src/index.ts";
test("form state binds fields, validates, submits and resets", async () => {
const form = useForm({ name: "", active: false }, (value) => ({
name: value.name ? undefined : "Required",
}));
form.field("name").onInput({ value: "Ada" });
form.field("active").onInput({ checked: true });
expect(form.dirty.get()).toBe(true);
expect(await form.submit(async (value) => value.name)).toBe("Ada");
form.reset();
expect(form.values.get()).toEqual({ name: "", active: false });
});