import { expect, test } from "vitest" import { MultiSelectInputorController } from "#Source/form/index.ts" test("MultiSelectInputorController.select toggles options while respecting disabled items and maxSelectCount", async () => { const controller = new MultiSelectInputorController({ id: "multi-select-id", value: [ { name: "a", label: "A", value: "a", isSelected: true }, { name: "b", label: "B", value: "b", isSelected: false }, { name: "c", label: "C", value: "c", isSelected: false, isDisabled: true }, ], maxSelectCount: 1, }) await controller.waitForReady() await controller.select("b") expect((await controller.getSchema()).value).toEqual([ { name: "a", label: "A", value: "a", isSelected: true }, { name: "b", label: "B", value: "b", isSelected: false }, { name: "c", label: "C", value: "c", isSelected: false, isDisabled: true }, ]) await controller.select("a") await controller.select("b") await controller.select("c") expect((await controller.getSchema()).value).toEqual([ { name: "a", label: "A", value: "a", isSelected: false }, { name: "b", label: "B", value: "b", isSelected: true }, { name: "c", label: "C", value: "c", isSelected: false, isDisabled: true }, ]) })