Added more unit tests to increase code coverage

This commit is contained in:
Alex Janousek
2025-10-27 15:00:52 -04:00
parent 6c3a516aa6
commit c273d5dd6f
9 changed files with 446 additions and 1 deletions

View File

@@ -135,4 +135,37 @@ describe('The session timer ', () => {
window.NotifyModules.TimeoutPopup.checkTimer();
expect(checkTimerMock).toHaveBeenCalled();
});
test('checkTimer expires and redirects when time runs out', () => {
const restore = mockWindowLocation();
const sessionTimer = document.getElementById('sessionTimer');
sessionTimer.showModal = jest.fn();
sessionTimer.close = jest.fn();
const closeTimerMock = jest.spyOn(sessionTimer, 'close');
const pastTime = new Date().getTime() - 1000;
window.NotifyModules.TimeoutPopup.checkTimer(pastTime);
expect(closeTimerMock).toHaveBeenCalled();
restore();
});
test('checkTimer updates time display and shows modal when time is remaining', () => {
const sessionTimer = document.getElementById('sessionTimer');
const timeLeftElement = document.getElementById('timeLeft');
sessionTimer.showModal = jest.fn();
sessionTimer.close = jest.fn();
const showModalMock = jest.spyOn(sessionTimer, 'showModal');
const futureTime = new Date().getTime() + (2 * 60 * 1000);
window.NotifyModules.TimeoutPopup.checkTimer(futureTime);
expect(showModalMock).toHaveBeenCalled();
expect(timeLeftElement.textContent).toMatch(/\d+m \d+s/);
});
});