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);
}
});