From d146a2cafa6dad3bdb63c09e3bb73a93046e0a31 Mon Sep 17 00:00:00 2001 From: Nirzara Ghure <113231114+nirzaraghure@users.noreply.github.com> Date: Mon, 13 Apr 2026 17:15:04 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20AppGenius:=20AI-generated=20code?= =?UTF-8?q?=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script.test.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 script.test.js diff --git a/script.test.js b/script.test.js new file mode 100644 index 0000000..1b95c61 --- /dev/null +++ b/script.test.js @@ -0,0 +1,44 @@ +import { JSDOM } from 'jsdom'; +import { expect, it, describe } from 'jest'; + +describe('generateQR function', () => { + let dom; + + beforeEach(() => { + dom = new JSDOM(` + + + + +
+ + + + `); + global.document = dom.window.document; + }); + + afterEach(() => { + jest.resetModules(); + }); + + it('should display alert when input is empty', () => { + document.getElementById('text').value = ''; + document.getElementById('generateButton').click(); + expect(document.getElementById('text').value).toBe(''); + }); + + it('should throw error when input is not a string', () => { + document.getElementById('text').value = 123; + expect(() => document.getElementById('generateButton').click()).toThrowError('Input must be a string'); + }); + + it('should display error message when generating QR code fails', () => { + const consoleError = jest.spyOn(console, 'error'); + document.getElementById('text').value = 'test'; + document.getElementById('qrcode').innerHTML = 'fail'; + document.getElementById('generateButton').click(); + expect(consoleError).toHaveBeenCalledTimes(1); + expect(document.getElementById('qrcode').innerHTML).toBe(''); + }); +}); \ No newline at end of file