Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ function BaseOnboardingWorkspaces({route, shouldUseNativeStyles}: BaseOnboarding
const [onboardingValues] = useOnyx(ONYXKEYS.NVP_ONBOARDING);
const isVsb = onboardingValues?.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB;
const isSmb = onboardingValues?.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.SMB;
const shouldHideBackButton = onboardingValues?.shouldValidate === false && route.params?.backTo === ROUTES.ONBOARDING_PERSONAL_DETAILS.getRoute();
const onboardingStep = useOnboardingStepCounter(SCREENS.ONBOARDING.WORKSPACES);

const handleJoinWorkspace = (policy: JoinablePolicy) => {
Expand Down Expand Up @@ -158,7 +159,7 @@ function BaseOnboardingWorkspaces({route, shouldUseNativeStyles}: BaseOnboarding
shouldShowOfflineIndicator={isSmallScreenWidth}
>
<HeaderWithBackButton
shouldShowBackButton
shouldShowBackButton={!shouldHideBackButton}
stepCounter={onboardingStep?.stepCounter}
progressBarPercentage={onboardingStep?.progressBarPercentage}
onBackButtonPress={() => Navigation.goBack()}
Expand Down
43 changes: 43 additions & 0 deletions tests/ui/WorkspaceOnboarding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,47 @@ describe('OnboardingWorkspaces Page', () => {
unmount();
await waitForBatchedUpdatesWithAct();
});

it('should not show the back button on join workspace after Add work email flow', async () => {
await TestHelper.signInWithTestUser();

await act(async () => {
await Onyx.merge(ONYXKEYS.NVP_ONBOARDING, {
hasCompletedGuidedSetupFlow: false,
shouldValidate: false,
});
});

const {unmount} = renderOnboardingWorkspacesPage(SCREENS.ONBOARDING.WORKSPACES, {backTo: ROUTES.ONBOARDING_PERSONAL_DETAILS.getRoute()});

await waitForBatchedUpdatesWithAct();

await waitFor(() => {
expect(screen.queryByLabelText(TestHelper.translateLocal('common.back'))).not.toBeOnTheScreen();
});

unmount();
await waitForBatchedUpdatesWithAct();
});

it('should show the back button on join workspace for the standard personal details flow', async () => {
await TestHelper.signInWithTestUser();

await act(async () => {
await Onyx.merge(ONYXKEYS.NVP_ONBOARDING, {
hasCompletedGuidedSetupFlow: false,
});
});

const {unmount} = renderOnboardingWorkspacesPage(SCREENS.ONBOARDING.WORKSPACES, {backTo: ROUTES.ONBOARDING_PERSONAL_DETAILS.getRoute()});

await waitForBatchedUpdatesWithAct();

await waitFor(() => {
expect(screen.getByLabelText(TestHelper.translateLocal('common.back'))).toBeOnTheScreen();
});

unmount();
await waitForBatchedUpdatesWithAct();
});
});
Loading