From 4490a09780c1cbf4f6f93e6ca7abe21b3fa7319a Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Wed, 5 Nov 2025 17:23:56 -0800 Subject: [PATCH] jest --- .../javascripts/organizationDashboard.test.js | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/javascripts/organizationDashboard.test.js diff --git a/tests/javascripts/organizationDashboard.test.js b/tests/javascripts/organizationDashboard.test.js new file mode 100644 index 000000000..55def888d --- /dev/null +++ b/tests/javascripts/organizationDashboard.test.js @@ -0,0 +1,52 @@ +describe("Organization Dashboard - initEditServiceConfirmation", () => { + let confirmButton, editForm; + + beforeEach(() => { + document.body.innerHTML = ` +
+ + +
+ +
+ +
+ `; + + confirmButton = document.getElementById('edit-service-confirm-btn'); + editForm = document.getElementById('edit-service-form'); + + editForm.submit = jest.fn(); + + require('../../app/assets/javascripts/organizationDashboard.js'); + document.dispatchEvent(new Event('DOMContentLoaded')); + }); + + afterEach(() => { + document.body.innerHTML = ""; + jest.resetModules(); + }); + + test("Clicking confirm button submits the edit form", () => { + confirmButton.click(); + + expect(editForm.submit).toHaveBeenCalledTimes(1); + }); + + test("Does nothing if confirm button doesn't exist", () => { + confirmButton.remove(); + + expect(() => { + const btn = document.getElementById('edit-service-confirm-btn'); + if (btn) btn.click(); + }).not.toThrow(); + }); + + test("Does nothing if edit form doesn't exist", () => { + editForm.remove(); + + confirmButton.click(); + + expect(true).toBe(true); + }); +});