From e8c67ea82c9b118c71da1be45ea5ac87c6e29de7 Mon Sep 17 00:00:00 2001 From: Juan Escalada Date: Wed, 13 May 2026 13:18:20 +0900 Subject: [PATCH] test: add test for deleting store on autologout timeout, remove unused import Signed-off-by: Juan Escalada --- .../src/components/AutoLogout/AutoLogout.tsx | 2 +- .../AutoLogout/disconnectedUsers.test.ts | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/core-components/src/components/AutoLogout/AutoLogout.tsx b/packages/core-components/src/components/AutoLogout/AutoLogout.tsx index bd2cd05b9e..4f53ce4bd7 100644 --- a/packages/core-components/src/components/AutoLogout/AutoLogout.tsx +++ b/packages/core-components/src/components/AutoLogout/AutoLogout.tsx @@ -21,7 +21,7 @@ import { identityApiRef, useApi, } from '@backstage/core-plugin-api'; -import { useEffect, useMemo, useRef, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { EventsType, IIdleTimer, diff --git a/packages/core-components/src/components/AutoLogout/disconnectedUsers.test.ts b/packages/core-components/src/components/AutoLogout/disconnectedUsers.test.ts index 090cd197d9..e6fbbc7161 100644 --- a/packages/core-components/src/components/AutoLogout/disconnectedUsers.test.ts +++ b/packages/core-components/src/components/AutoLogout/disconnectedUsers.test.ts @@ -84,6 +84,27 @@ describe('useLogoutDisconnectedUserEffect', () => { expect(mockTimestampStore.delete).toHaveBeenCalled(); }); + it('should delete the store and sign out when idle timeout has passed', () => { + const staleStore = { + ...mockTimestampStore, + get: jest.fn().mockReturnValue(new Date(Date.now() - 2000)), + }; + const props: UseLogoutDisconnectedUserEffectProps = { + enableEffect: true, + autologoutIsEnabled: true, + isLoggedIn: true, + idleTimeoutSeconds: 1, + lastSeenOnlineStore: staleStore, + identityApi: mockIdentityApi, + }; + + renderHook(() => useLogoutDisconnectedUserEffect(props)); + + expect(staleStore.delete).toHaveBeenCalled(); + expect(mockIdentityApi.signOut).toHaveBeenCalled(); + expect(staleStore.save).not.toHaveBeenCalled(); + }); + it('should call signOut if idle timeout passed', () => { jest.useFakeTimers();