Allow superadmin to bypass onboarding billing

This commit is contained in:
Codex Agent
2026-01-25 00:05:34 +01:00
parent 4e65fe1d5f
commit 6c857b5765
6 changed files with 76 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -27,6 +28,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: true,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -40,6 +42,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -53,6 +56,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBe(ADMIN_BILLING_PATH);
});
@@ -66,6 +70,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -79,6 +84,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -92,6 +98,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -105,6 +112,7 @@ describe('resolveOnboardingRedirect', () => {
isBillingPath: false,
isOnboardingDismissed: true,
isOnboardingCompleted: false,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
@@ -117,6 +125,21 @@ describe('resolveOnboardingRedirect', () => {
pathname: '/event-admin/mobile/dashboard',
isBillingPath: false,
isOnboardingCompleted: true,
isSuperAdmin: false,
});
expect(result).toBeNull();
});
it('returns null for super admins without packages', () => {
const result = resolveOnboardingRedirect({
hasEvents: false,
hasActivePackage: false,
remainingEvents: null,
pathname: '/event-admin/mobile/dashboard',
isBillingPath: false,
isOnboardingDismissed: false,
isOnboardingCompleted: false,
isSuperAdmin: true,
});
expect(result).toBeNull();
});

View File

@@ -11,6 +11,7 @@ type OnboardingRedirectInput = {
isBillingPath: boolean;
isOnboardingDismissed?: boolean;
isOnboardingCompleted?: boolean;
isSuperAdmin?: boolean;
};
export function resolveOnboardingRedirect({
@@ -21,7 +22,12 @@ export function resolveOnboardingRedirect({
isBillingPath,
isOnboardingDismissed,
isOnboardingCompleted,
isSuperAdmin,
}: OnboardingRedirectInput): string | null {
if (isSuperAdmin) {
return null;
}
if (isOnboardingDismissed || isOnboardingCompleted) {
return null;
}