From d59eec4653bfad0c6ed97e2c8caf00b390a1139c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 20:53:29 +0000 Subject: [PATCH] Refactor tests/ui/uploadModal-reset.test.mjs to use beforeEach/afterEach Refactored the test suite to use `beforeEach` for mocking `global.fetch` and `afterEach` for cleaning up `document.body`. This ensures that `fetch` is available for all tests and that DOM state (specifically elements with duplicate IDs) does not leak between tests, resolving `TypeError: Cannot read properties of null` failures in `UploadModal.bindEvents`. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- tests/ui/uploadModal-reset.test.mjs | 54 ++++++++++++++++------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/tests/ui/uploadModal-reset.test.mjs b/tests/ui/uploadModal-reset.test.mjs index 97ca5c06..1e4ff83d 100644 --- a/tests/ui/uploadModal-reset.test.mjs +++ b/tests/ui/uploadModal-reset.test.mjs @@ -1,4 +1,4 @@ -import { test, describe, it, before, after } from "node:test"; +import { test, describe, it, before, after, beforeEach, afterEach } from "node:test"; import assert from "node:assert"; import { createUiDom } from "./helpers/jsdom-test-helpers.mjs"; @@ -28,27 +28,6 @@ describe("UploadModal Reset Logic", () => { } }; - before(async () => { - process.env.NODE_ENV = 'test'; - dom = createUiDom(); - global.window = dom.window; - global.self = dom.window; - global.document = dom.document; - global.EventTarget = dom.window.EventTarget; - global.alert = (msg) => { console.log("ALERT CALLED:", msg); }; - global.HTMLElement = dom.window.HTMLElement; - global.HTMLInputElement = dom.window.HTMLInputElement; - global.HTMLButtonElement = dom.window.HTMLButtonElement; - global.HTMLDivElement = dom.window.HTMLDivElement; - - const module = await import("../../js/ui/components/UploadModal.js"); - UploadModal = module.UploadModal; - }); - - after(() => { - if (dom) dom.cleanup(); - }); - const mockHtml = `