mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 18:37:33 -04:00
Clean up code/tests
This commit is contained in:
@@ -1,7 +1,12 @@
|
|||||||
|
window.GOVUK = window.GOVUK || {};
|
||||||
|
window.GOVUK.Modules = window.GOVUK.Modules || {};
|
||||||
|
window.GOVUK.Modules.TimeoutPopup = window.GOVUK.Modules.TimeoutPopup || {};
|
||||||
|
|
||||||
(function(global) {
|
(function(global) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const sessionTimer = document.getElementById("sessionTimer");
|
const sessionTimer = document.getElementById("sessionTimer");
|
||||||
|
let intervalId = null;
|
||||||
|
|
||||||
function checkTimer(timeTillSessionEnd) {
|
function checkTimer(timeTillSessionEnd) {
|
||||||
var now = new Date().getTime();
|
var now = new Date().getTime();
|
||||||
@@ -13,7 +18,8 @@
|
|||||||
document.getElementById("logOutTimer").addEventListener("click", logoutUser);
|
document.getElementById("logOutTimer").addEventListener("click", logoutUser);
|
||||||
document.getElementById("extendSessionTimer").addEventListener("click", extendSession);
|
document.getElementById("extendSessionTimer").addEventListener("click", extendSession);
|
||||||
if (difference < 0) {
|
if (difference < 0) {
|
||||||
clearInterval(x);
|
clearInterval(intervalId);
|
||||||
|
intervalId = null;
|
||||||
closeTimer();
|
closeTimer();
|
||||||
logoutUser();
|
logoutUser();
|
||||||
}
|
}
|
||||||
@@ -35,12 +41,14 @@
|
|||||||
sessionTimer.close();
|
sessionTimer.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
global.GOVUK.Modules.TimeoutPopup = function() {
|
function setSessionTimer() {
|
||||||
setTimeout(function() {
|
var timeTillSessionEnd = new Date().getTime() + (5 * 60 * 1000);
|
||||||
var timeTillSessionEnd = new Date().getTime() + (5 * 60 * 1000);
|
intervalId = setInterval(checkTimer, 1000, timeTillSessionEnd);
|
||||||
var x = setInterval(checkTimer, 1000, timeTillSessionEnd);
|
}
|
||||||
}, 25 * 60 * 1000);
|
|
||||||
};
|
if (document.getElementById("timeLeft") !== null) {
|
||||||
|
setTimeout(setSessionTimer, 60 * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
global.GOVUK.Modules.TimeoutPopup.checkTimer = checkTimer;
|
global.GOVUK.Modules.TimeoutPopup.checkTimer = checkTimer;
|
||||||
global.GOVUK.Modules.TimeoutPopup.logoutUser = logoutUser;
|
global.GOVUK.Modules.TimeoutPopup.logoutUser = logoutUser;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
jest.useFakeTimers();
|
|
||||||
jest.spyOn(global, 'setTimeout');
|
jest.spyOn(global, 'setTimeout');
|
||||||
|
|
||||||
document.body.innerHTML = `
|
document.body.innerHTML = `
|
||||||
@@ -40,13 +39,24 @@ beforeAll(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(() => {
|
afterAll(() => {
|
||||||
jest.useRealTimers();
|
|
||||||
document.body.innerHTML = '';
|
document.body.innerHTML = '';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('When an authenticated user', () => {
|
describe('When the session timer module is loaded', () => {
|
||||||
test('does whatever', () => {
|
beforeEach(() => {
|
||||||
|
jest.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('everything initializes properly', () => {
|
||||||
|
const sessionTimer = document.getElementById("sessionTimer");
|
||||||
|
sessionTimer.showModal = jest.fn();
|
||||||
|
sessionTimer.close = jest.fn();
|
||||||
|
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -54,6 +64,14 @@ describe('When an authenticated user', () => {
|
|||||||
|
|
||||||
|
|
||||||
describe('The session timer ', () => {
|
describe('The session timer ', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
jest.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
test('logoutUser method logs the user out', () => {
|
test('logoutUser method logs the user out', () => {
|
||||||
const logoutUserMethod = window.GOVUK.Modules.TimeoutPopup.logoutUser;
|
const logoutUserMethod = window.GOVUK.Modules.TimeoutPopup.logoutUser;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user