import * as cookieHelper from '@/helpers/cookie-helper'; import { isAnalyticsSessionStillActive, isSavedSessionStillActive, getDateForSavedSessionTimeout } from '@/helpers/session-helper'; import applicationConfig from '@/constants/application-config'; describe('isAnalyticsSessionStillActive', () => { test('isAnalyticsSessionStillActive, should return true', () => { // Arrange const mockDate = new Date(new Date().toUTCString()); mockDate.setDate(mockDate.getDate() + 1); cookieHelper.getISSCookie = jest .spyOn(cookieHelper, 'getISSCookie') .mockReturnValue({ LastTouched: mockDate }); // Act const result = isAnalyticsSessionStillActive(); // Assert expect(result).toBe(true); }); test('isAnalyticsSessionStillActive, should return false', () => { // Arrange const mockDate = new Date(new Date().toUTCString()); mockDate.setDate(mockDate.getDate() - 1); cookieHelper.getISSCookie = jest .spyOn(cookieHelper, 'getISSCookie') .mockReturnValue({ LastTouched: mockDate }); // Act const result = isAnalyticsSessionStillActive(); // Assert expect(result).toBe(false); }); }); describe('isSavedSessionStillActive', () => { test('isSavedSessionStillActive, should return true', () => { // Arrange const mockDate = new Date(new Date().toUTCString()); mockDate.setDate(mockDate.getDate() + 1); cookieHelper.getISSCookie = jest .spyOn(cookieHelper, 'getISSCookie') .mockReturnValue({ SavedSessionTimeoutDate: mockDate }); // Act const result = isSavedSessionStillActive(); // Assert expect(result).toBe(true); }); test('isSavedSessionStillActive, should return false', () => { // Arrange const mockDate = new Date(new Date().toUTCString()); mockDate.setDate(mockDate.getDate() - 1); cookieHelper.getISSCookie = jest .spyOn(cookieHelper, 'getISSCookie') .mockReturnValue({ SavedSessionTimeoutDate: mockDate }); // Act const result = isSavedSessionStillActive(); // Assert expect(result).toBe(false); }); }); describe('getDateForSavedSessionTimeout', () => { test('getDateForSavedSessionTimeout, should equal application config setting', () => { // Arrange const currentDate = new Date(new Date().toUTCString()); currentDate.setDate(currentDate.getDate() + applicationConfig.SAVED_SESSION_TIMEOUT_DAYS); // Act const result = getDateForSavedSessionTimeout(); // Assert expect(result).toEqual(currentDate.toUTCString()); }); });