diff --git a/src/libs/navigateAfterOnboarding.ts b/src/libs/navigateAfterOnboarding.ts index ceff35ee25cb5..0e90cd9617085 100644 --- a/src/libs/navigateAfterOnboarding.ts +++ b/src/libs/navigateAfterOnboarding.ts @@ -19,11 +19,6 @@ const navigateAfterOnboarding = ( setDisableDismissOnEscape(false); Navigation.dismissModal(); - if (onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) { - InteractionManager.runAfterInteractions(() => Navigation.navigate(ROUTES.TEST_DRIVE_MODAL_ROOT)); - return; - } - // When hasCompletedGuidedSetupFlow is true, OnboardingModalNavigator in AuthScreen is removed from the navigation stack. // On small screens, this removal redirects navigation to HOME. Dismissing the modal doesn't work properly, // so we need to specifically navigate to the last accessed report. @@ -31,6 +26,13 @@ const navigateAfterOnboarding = ( if (onboardingAdminsChatReportID && !shouldPreventOpenAdminRoom) { Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(onboardingAdminsChatReportID)); } + if (onboardingPurposeSelected !== CONST.ONBOARDING_CHOICES.MANAGE_TEAM) { + return; + } + } + + if (onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) { + InteractionManager.runAfterInteractions(() => Navigation.navigate(ROUTES.TEST_DRIVE_MODAL_ROOT)); return; } diff --git a/tests/unit/navigateAfterOnboardingTest.ts b/tests/unit/navigateAfterOnboardingTest.ts index 5adbe60e8da78..2caa3da399cd0 100644 --- a/tests/unit/navigateAfterOnboardingTest.ts +++ b/tests/unit/navigateAfterOnboardingTest.ts @@ -136,8 +136,9 @@ describe('navigateAfterOnboarding', () => { it('should navigate to Test Drive Modal if user wants to manage a small team', async () => { const navigate = jest.spyOn(Navigation, 'navigate'); jest.spyOn(Navigation, 'isNavigationReady').mockReturnValue(Promise.resolve()); - - navigateAfterOnboarding(CONST.ONBOARDING_CHOICES.MANAGE_TEAM, true, true); + const onboardingAdminsChatReportID = '1'; + navigateAfterOnboarding(CONST.ONBOARDING_CHOICES.MANAGE_TEAM, false, true, undefined, undefined, onboardingAdminsChatReportID); + await waitFor(() => expect(navigate).toHaveBeenCalledWith(ROUTES.REPORT_WITH_ID.getRoute(onboardingAdminsChatReportID))); await waitFor(() => expect(navigate).toHaveBeenCalledWith(ROUTES.TEST_DRIVE_MODAL_ROOT)); }); });