21762: added trycatch to observer callback
[arvados.git] / services / workbench2 / src / views-components / auto-logout / auto-logout.test.tsx
index 3be400f7c544eef3b3181fd5ee44b7a4d8ec3f12..b07e3dccfa059202b3305d7232973dcce9504cb0 100644 (file)
@@ -15,14 +15,11 @@ describe('<AutoLogoutComponent />', () => {
     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('<AutoLogoutComponent />', () => {
     });
 
     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();
     });