5663 i should be able to accept an invite even if i have an inactive workspace (#5839)

- make invitation and reset password available on every page
- add a sleep after setKeyPair as tokens are sometimes not updated when
redirecting to Index
- refactor sleep
This commit is contained in:
martmull
2024-06-13 11:47:00 +02:00
committed by GitHub
parent d93c2d6408
commit b26fd00a40
30 changed files with 95 additions and 75 deletions

View File

@ -52,27 +52,27 @@ const testCases = [
{ loc: AppPath.SignInUp, status: OnboardingStatus.Completed, res: defaultHomePagePath },
{ loc: AppPath.SignInUp, status: OnboardingStatus.CompletedWithoutSubscription, res: defaultHomePagePath },
{ loc: AppPath.Invite, status: OnboardingStatus.Incomplete, res: AppPath.PlanRequired },
{ loc: AppPath.Invite, status: OnboardingStatus.Canceled, res: '/settings/billing' },
{ loc: AppPath.Invite, status: OnboardingStatus.Unpaid, res: '/settings/billing' },
{ loc: AppPath.Invite, status: OnboardingStatus.Incomplete, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.Canceled, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.Unpaid, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.PastDue, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingUserCreation, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingWorkspaceActivation, res: AppPath.CreateWorkspace },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingProfileCreation, res: AppPath.CreateProfile },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingSyncEmail, res: AppPath.SyncEmails },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingInviteTeam, res: AppPath.InviteTeam },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingWorkspaceActivation, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingProfileCreation, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingSyncEmail, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.OngoingInviteTeam, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.Completed, res: undefined },
{ loc: AppPath.Invite, status: OnboardingStatus.CompletedWithoutSubscription, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Incomplete, res: AppPath.PlanRequired },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Canceled, res: '/settings/billing' },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Unpaid, res: '/settings/billing' },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Incomplete, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Canceled, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Unpaid, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.PastDue, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingUserCreation, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingWorkspaceActivation, res: AppPath.CreateWorkspace },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingProfileCreation, res: AppPath.CreateProfile },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingSyncEmail, res: AppPath.SyncEmails },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingInviteTeam, res: AppPath.InviteTeam },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingWorkspaceActivation, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingProfileCreation, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingSyncEmail, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.OngoingInviteTeam, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.Completed, res: undefined },
{ loc: AppPath.ResetPassword, status: OnboardingStatus.CompletedWithoutSubscription, res: undefined },

View File

@ -29,6 +29,10 @@ export const usePageChangeEffectNavigateLocation = () => {
isMatchingLocation(AppPath.PlanRequired) ||
isMatchingLocation(AppPath.PlanRequiredSuccess);
if (isMatchingOpenRoute) {
return;
}
if (
onboardingStatus === OnboardingStatus.OngoingUserCreation &&
!isMatchingOngoingUserCreationRoute
@ -89,8 +93,7 @@ export const usePageChangeEffectNavigateLocation = () => {
if (
onboardingStatus === OnboardingStatus.Completed &&
isMatchingOnboardingRoute &&
!isMatchingOpenRoute
isMatchingOnboardingRoute
) {
return defaultHomePagePath;
}
@ -98,7 +101,6 @@ export const usePageChangeEffectNavigateLocation = () => {
if (
onboardingStatus === OnboardingStatus.CompletedWithoutSubscription &&
isMatchingOnboardingRoute &&
!isMatchingOpenRoute &&
!isMatchingLocation(AppPath.PlanRequired)
) {
return defaultHomePagePath;