import { queryInputs } from "./InputProvider"; import { JSDOM } from "jsdom"; const dummySrc = "https://www.test.com/asset.png"; const dummyLocalSrc = "/my/source.png"; const escapedHitlJson = `{"hello": "world"}`; const hitlJson = { hello: "world" }; const escapedLocalJson = `{"myEscaped": "json"}`; const localJson = { myEscaped: "json" }; test("queries the dom for input elements", async () => { const testCases = [ { description: "asset input", input: ``, expectedHitl: { myAsset: dummySrc, }, expectedLocal: { myAsset: dummySrc, }, }, { description: "s3-file input", input: ``, expectedHitl: { myS3File: dummySrc, }, expectedLocal: { myS3File: dummyLocalSrc, }, }, { description: "literal escaped json", input: ``, expectedHitl: { myJson: hitlJson, }, expectedLocal: { myJson: localJson, }, }, ]; for (const tc of testCases) { const { document } = new JSDOM(tc.input).window; const hitlQuery = await queryInputs(document, true); const localQuery = await queryInputs(document, false); expect(hitlQuery).toEqual(tc.expectedHitl); expect(localQuery).toEqual(tc.expectedLocal); } });