23 lines
1,012 B
TypeScript
23 lines
1,012 B
TypeScript
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')
|
|
})
|
|
})
|