import assert from 'assert'; import React from 'react'; import { mountWithRouter } from '../../../../../../test/lib/render-helpers'; import { DEFAULT_ROUTE, LOCK_ROUTE, INITIALIZE_WELCOME_ROUTE, INITIALIZE_UNLOCK_ROUTE, INITIALIZE_END_OF_FLOW_ROUTE, } from '../../../../helpers/constants/routes'; import FirstTimeFlowSwitch from '..'; describe('FirstTimeFlowSwitch', function () { it('redirects to /welcome route with null props', function () { const props = { completedOnboarding: null, isInitialized: null, isUnlocked: null, seedPhraseBackedUp: null, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper .find('Lifecycle') .find({ to: { pathname: INITIALIZE_WELCOME_ROUTE } }).length, 1, ); }); it('redirects to / route when completedOnboarding is true', function () { const props = { completedOnboarding: true, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper.find('Lifecycle').find({ to: { pathname: DEFAULT_ROUTE } }) .length, 1, ); }); it('redirects to end of flow route when seedPhraseBackedUp is true', function () { const props = { completedOnboarding: false, seedPhraseBackedUp: true, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper .find('Lifecycle') .find({ to: { pathname: INITIALIZE_END_OF_FLOW_ROUTE } }).length, 1, ); }); it('redirects to end of flow route when seedPhraseBackedUp is false', function () { const props = { completedOnboarding: false, seedPhraseBackedUp: false, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper .find('Lifecycle') .find({ to: { pathname: INITIALIZE_END_OF_FLOW_ROUTE } }).length, 1, ); }); it('redirects to /lock route when isUnlocked is true ', function () { const props = { completedOnboarding: false, isUnlocked: true, seedPhraseBackedUp: null, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper.find('Lifecycle').find({ to: { pathname: LOCK_ROUTE } }).length, 1, ); }); it('redirects to /welcome route when isInitialized is false', function () { const props = { completedOnboarding: false, isUnlocked: false, isInitialized: false, seedPhraseBackedUp: null, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper .find('Lifecycle') .find({ to: { pathname: INITIALIZE_WELCOME_ROUTE } }).length, 1, ); }); it('redirects to /unlock route when isInitialized is true', function () { const props = { completedOnboarding: false, isUnlocked: false, isInitialized: true, seedPhraseBackedUp: null, }; const wrapper = mountWithRouter( , ); assert.strictEqual( wrapper .find('Lifecycle') .find({ to: { pathname: INITIALIZE_UNLOCK_ROUTE } }).length, 1, ); }); });