From 74ee271012b43db5d380bb6e78d9e958d803b4b3 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Tue, 8 Apr 2025 20:25:14 +0800 Subject: [PATCH] Fix SecurityManager flaky test (#8753) --- app/managers/security_manager/index.test.ts | 11 +++++++++++ app/managers/security_manager/index.ts | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/managers/security_manager/index.test.ts b/app/managers/security_manager/index.test.ts index c90f3d69c..0d6210838 100644 --- a/app/managers/security_manager/index.test.ts +++ b/app/managers/security_manager/index.test.ts @@ -394,7 +394,17 @@ describe('SecurityManager', () => { }); describe('goToPreviousServer', () => { + afterAll(() => { + jest.clearAllMocks(); + }); + test('should switch to previous server', async () => { + jest.mocked(Emm.isDeviceSecured).mockResolvedValue(true); + jest.mocked(Emm.authenticate).mockResolvedValue(true); + jest.mocked(switchToServer).mockImplementation((serverUrl: string) => { + SecurityManager.setActiveServer(serverUrl); + return Promise.resolve(); + }); SecurityManager.activeServer = undefined; SecurityManager.addServer('server-10', {MobileEnableBiometrics: 'true'} as ClientConfig); SecurityManager.setActiveServer('server-10'); @@ -402,6 +412,7 @@ describe('SecurityManager', () => { SecurityManager.setActiveServer('server-11'); await SecurityManager.goToPreviousServer(['server-10', 'server-11']); expect(switchToServer).toHaveBeenCalledWith('server-10', expect.anything(), expect.anything()); + expect(SecurityManager.activeServer).toBe('server-10'); }); }); diff --git a/app/managers/security_manager/index.ts b/app/managers/security_manager/index.ts index 7be5d8fb3..ce42f5cdc 100644 --- a/app/managers/security_manager/index.ts +++ b/app/managers/security_manager/index.ts @@ -292,7 +292,7 @@ class SecurityManagerSingleton { defaultLocale: DEFAULT_LOCALE, messages: getTranslations(locale), }); - switchToServer(lastAccessedServer, theme, intl); + await switchToServer(lastAccessedServer, theme, intl); } };