import { resolveOnboardingExit } from '../src/screens/OnboardingScreen' describe('onboarding exit contract', () => { test('moves an authenticated fresh flow to Main after persistence succeeds', () => { expect(resolveOnboardingExit(true, true, false, false)).toBe('main') expect(resolveOnboardingExit(true, true, false, true)).toBe('main') }) test('never navigates when local persistence fails', () => { expect(resolveOnboardingExit(false, true, false, true)).toBe('none') expect(resolveOnboardingExit(false, true, true, true)).toBe('none') }) test('preserves the unauthenticated fresh-flow branch selection', () => { expect(resolveOnboardingExit(true, false, false, false)).toBe('none') expect(resolveOnboardingExit(true, false, false, true)).toBe('none') }) test('replay exits only when a prior route exists', () => { expect(resolveOnboardingExit(true, true, true, true)).toBe('back') expect(resolveOnboardingExit(true, true, true, false)).toBe('none') }) })