import { fund } from "../../../src/fund/mod";
import { forceFundmeOnBrowser } from "../../../src/fund/fund-browser";
import {
noTemplateFound,
jsonTemplateIsInvalid,
cannotParseScriptJson,
failParsingTemplate,
FundmeError,
} from "../../../src/fund/errors";
describe("test scraping template crashes resulting right throw errors", () => {
test("fund() is called but no template is found", () => {
document.body.innerHTML = "";
forceFundmeOnBrowser();
expect(() => fund()).toThrowError(FundmeError(noTemplateFound));
document.body.innerHTML = "";
});
test("found
`;
forceFundmeOnBrowser();
expect(() => fund()).toThrowError(FundmeError(jsonTemplateIsInvalid));
document.body.innerHTML = "";
});
test("found
`;
forceFundmeOnBrowser();
expect(() => fund()).toThrowError(FundmeError(cannotParseScriptJson));
document.body.innerHTML = "";
});
// parse template errors
test("fails to parse address from ", () => {
document.body.innerHTML = `
`;
function fundThrow() {
forceFundmeOnBrowser();
fund();
}
expect(fundThrow).toThrowError(FundmeError(failParsingTemplate));
document.body.innerHTML = "";
});
});