Merge pull request #1846 from PR0M3TH3AN/fix-upload-modal-test-failures-9576410255273740995

Fix UploadModal unit test failures by improving test isolation
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-01-27 16:28:53 -05:00
commit 046c09c923
1 file changed
+30 -24
+30 -24
View File
@@ -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 = `
<div id="uploadModal" class="hidden">
<form id="unifiedUploadForm">
@@ -102,13 +81,40 @@ describe("UploadModal Reset Logic", () => {
</div>
`;
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;
});
beforeEach(() => {
global.fetch = async () => ({ ok: true, text: async () => mockHtml });
});
afterEach(() => {
document.body.innerHTML = "";
});
after(() => {
if (dom) dom.cleanup();
});
it("should reset upload state and inputs when resetUploads is called", async () => {
const container = document.createElement("div");
container.id = "modalContainer";
document.body.appendChild(container);
global.fetch = async () => ({ ok: true, text: async () => mockHtml });
const modal = new UploadModal({
storageService: mockStorageService,
r2Service: mockR2Service,