X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/73d6304270e77b662bff5206a8a0667c02361ec7..4a9e5c926179b3ab8ff7231904e2db93d42149e0:/services/workbench2/src/views-components/auto-logout/auto-logout.test.tsx
diff --git a/services/workbench2/src/views-components/auto-logout/auto-logout.test.tsx b/services/workbench2/src/views-components/auto-logout/auto-logout.test.tsx
index 3be400f7c5..b07e3dccfa 100644
--- a/services/workbench2/src/views-components/auto-logout/auto-logout.test.tsx
+++ b/services/workbench2/src/views-components/auto-logout/auto-logout.test.tsx
@@ -15,14 +15,11 @@ describe('', () => {
const lastWarningDuration = 60;
const eventListeners = {};
- beforeAll(() => {
+ beforeEach(() => {
+ jest.useFakeTimers();
window.addEventListener = jest.fn((event, cb) => {
eventListeners[event] = cb;
});
- });
-
- beforeEach(() => {
- jest.useFakeTimers();
props = {
sessionIdleTimeout: sessionIdleTimeout,
lastWarningDuration: lastWarningDuration,
@@ -34,28 +31,28 @@ describe('', () => {
});
it('should logout after idle timeout', () => {
- jest.runTimersToTime((sessionIdleTimeout-1)*1000);
+ jest.advanceTimersByTime((sessionIdleTimeout-1)*1000);
expect(props.doLogout).not.toBeCalled();
- jest.runTimersToTime(1*1000);
+ jest.advanceTimersByTime(1*1000);
expect(props.doLogout).toBeCalled();
});
it('should warn the user previous to close the session', () => {
- jest.runTimersToTime((sessionIdleTimeout-lastWarningDuration-1)*1000);
+ jest.advanceTimersByTime((sessionIdleTimeout-lastWarningDuration-1)*1000);
expect(props.doWarn).not.toBeCalled();
- jest.runTimersToTime(1*1000);
+ jest.advanceTimersByTime(1*1000);
expect(props.doWarn).toBeCalled();
});
it('should reset the idle timer when activity event is received', () => {
- jest.runTimersToTime((sessionIdleTimeout-lastWarningDuration-1)*1000);
+ jest.advanceTimersByTime((sessionIdleTimeout-lastWarningDuration-1)*1000);
expect(props.doWarn).not.toBeCalled();
// Simulate activity from other window/tab
eventListeners.storage({
key: LAST_ACTIVE_TIMESTAMP,
newValue: '42' // value currently doesn't matter
})
- jest.runTimersToTime(1*1000);
+ jest.advanceTimersByTime(1*1000);
// Warning should not appear because idle timer was reset
expect(props.doWarn).not.toBeCalled();
});