import assert from "node:assert"; import { describe, it } from "node:test"; import { FormSend } from "./index.ts"; import type { IFormExtendedCfg } from "../utils/_getFormExtendedCfg.ts"; type TGlobalWithFormData = typeof globalThis & { FormData: typeof FormData; }; describe("FormSend plugin", () => { it("serializes disabled inputs when cfg allows", () => { const form = document.createElement("form"); form.setAttribute("data-js-form", JSON.stringify({ isSerializeDisabledInputs: true })); const input = document.createElement("input"); input.name = "disabledField"; input.value = "42"; input.disabled = true; form.appendChild(input); const globalWithFormData = globalThis as TGlobalWithFormData; const originalFormData = globalWithFormData.FormData; globalWithFormData.FormData = window.FormData; const fd = FormSend.getFormData(form as IFormExtendedCfg["form"]); globalWithFormData.FormData = originalFormData; assert.equal(fd.get("disabledField"), "42"); }); });