diff --git a/script.test.js b/script.test.js new file mode 100644 index 0000000..8546372 --- /dev/null +++ b/script.test.js @@ -0,0 +1,43 @@ +import { JSDOM } from "jsdom"; +import { describe, expect, it } from "jest"; + +const { JSDOM as dom } = require("jsdom"); + +describe("generateQR function", () => { + let domElement; + + beforeEach(() => { + domElement = new JSDOM(` + +
+ + + + + + + `); + }); + + afterEach(() => { + domElement.window.document.body.innerHTML = ""; + }); + + it("should call alert when input is empty string with leading/trailing whitespace", () => { + const inputElement = domElement.window.document.getElementById("text"); + inputElement.value = " "; + domElement.window.document.body.innerHTML += ""; + const alertCall = domElement.window.console.mock.calls.length - 1; + expect(domElement.window.console.log).toHaveBeenCalledTimes(alertCall); + expect(domElement.window.console.log).toHaveBeenCalledWith("Please enter text or URL"); + }); + + it("should call alert when input is empty string with no leading/trailing whitespace", () => { + const inputElement = domElement.window.document.getElementById("text"); + inputElement.value = ""; + domElement.window.document.body.innerHTML += ""; + const alertCall = domElement.window.console.mock.calls.length - 1; + expect(domElement.window.console.log).toHaveBeenCalledTimes(alertCall); + expect(domElement.window.console.log).toHaveBeenCalledWith("Please enter text or URL"); + }); +}); \ No newline at end of file