import { expect, test } from "vitest" import { BooleanInputorController, FileInputorController, FormInputorController, MultiSelectInputorController, NumberInputorController, SelectInputorController, TextInputorController, boolean as createBooleanInputor, file as createFileInputor, form as createFormInputor, multiSelect as createMultiSelectInputor, number as createNumberInputor, select as createSelectInputor, text as createTextInputor, } from "#Source/form/index.ts" test("boolean creates a BooleanInputorController", () => { expect(createBooleanInputor({ value: false })).toBeInstanceOf(BooleanInputorController) }) test("number creates a NumberInputorController", () => { expect(createNumberInputor({ value: 1 })).toBeInstanceOf(NumberInputorController) }) test("text creates a TextInputorController", () => { expect(createTextInputor({ value: "alpha" })).toBeInstanceOf(TextInputorController) }) test("file creates a FileInputorController", () => { expect(createFileInputor({ value: undefined })).toBeInstanceOf(FileInputorController) }) test("select creates a SelectInputorController", () => { expect(createSelectInputor({ value: [] })).toBeInstanceOf(SelectInputorController) }) test("multiSelect creates a MultiSelectInputorController", () => { expect(createMultiSelectInputor({ value: [] })).toBeInstanceOf(MultiSelectInputorController) }) test("form creates a FormInputorController", () => { const nameController = createTextInputor({ value: "alpha" }) const ageController = createNumberInputor({ value: 1 }) expect( createFormInputor({ value: { name: "alpha", age: 1, }, items: { name: nameController, age: ageController, }, encodeValue: (schemaDict) => { return { name: schemaDict.name.value, age: schemaDict.age.value, } }, decodeValue: (value) => { return value }, }), ).toBeInstanceOf(FormInputorController) })