I'm trying to test button click using jasmine test runner but I keep on getting document not defined even if I use JSDOM. I'm not sure what is it that I'm doing wrong or is it because 'window document' is not part of the node scope?
const fs = require("fs");
const html = fs.readFileSync("index.html", "utf8");
const jsdom = require("jsdom");
const { JamBuddy, randomNotes } = require("../src/JamBuddy.js");
const { JSDOM } = jsdom;
const buddy = new JamBuddy();
const { document } = new JSDOM(html).window;
global.document = document;
describe("Button click event Tests", () => {
let notesRandom = document.getElementById("notesRandom");
const randomBtn = document.getElementById("randomNotesBtn");
it("should invoke the randomNotes click event.", () => {
randomBtn.addEventListener("click", () => {
notesRandom.innerHTML = randomNotes();
});
randomBtn.click();
expect(notesRandom.innerHTML).not.toBe("");
});
});