Skip to content

Commit

Permalink
Merge pull request #52448 from truph01/fix/52260
Browse files Browse the repository at this point in the history
fix: The shortcut CTRL + K does not work with a user as employee in a WS
  • Loading branch information
mountiny authored Nov 19, 2024
2 parents 3211e4e + 6da0b81 commit e8ac6d4
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/libs/onboardingSelectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ function hasCompletedGuidedSetupFlowSelector(onboarding: OnyxValue<typeof ONYXKE
return true;
}

if (!isEmptyObject(onboarding) && onboarding?.hasCompletedGuidedSetupFlow === undefined) {
return true;
}

return onboarding?.hasCompletedGuidedSetupFlow;
}

Expand Down
36 changes: 36 additions & 0 deletions tests/unit/OnboardingSelectorsTest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import type {OnyxValue} from 'react-native-onyx';
import {hasCompletedGuidedSetupFlowSelector} from '@libs/onboardingSelectors';
import CONST from '@src/CONST';
import type ONYXKEYS from '@src/ONYXKEYS';

describe('onboardingSelectors', () => {
// Not all users have this NVP defined as we did not run a migration to backfill it for existing accounts, hence we need to make sure
// the onboarding flow is only showed to the users with `hasCompletedGuidedSetupFlow` set to false
describe('hasCompletedGuidedSetupFlowSelector', () => {
// It might be the case that backend returns an empty array if the NVP is not defined on this particular account
it('Should return true if onboarding NVP is an array', () => {
const onboarding = [] as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(true);
});
it('Should return true if onboarding NVP is an empty object', () => {
const onboarding = {} as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(true);
});
it('Should return true if onboarding NVP contains only signupQualifier', () => {
const onboarding = {signupQualifier: CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB} as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(true);
});
it('Should return true if onboarding NVP contains hasCompletedGuidedSetupFlow = true', () => {
const onboarding = {hasCompletedGuidedSetupFlow: true} as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(true);
});
it('Should return false if onboarding NVP contains hasCompletedGuidedSetupFlow = false', () => {
const onboarding = {hasCompletedGuidedSetupFlow: false} as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(false);
});
it('Should return true if onboarding NVP contains only selfTourViewed', () => {
const onboarding = {selfTourViewed: true} as OnyxValue<typeof ONYXKEYS.NVP_ONBOARDING>;
expect(hasCompletedGuidedSetupFlowSelector(onboarding)).toBe(true);
});
});
});

0 comments on commit e8ac6d4

Please sign in to comment.