From af6574657e044f450b1fcf42ce898e6c07ff7fe8 Mon Sep 17 00:00:00 2001 From: Suzanne Rozier <suz@truss.works> Date: Tue, 9 Mar 2021 22:51:51 +0000 Subject: [PATCH 1/2] Move root route back up above getWorkflowRoutes --- src/scenes/MyMove/index.jsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/scenes/MyMove/index.jsx b/src/scenes/MyMove/index.jsx index d17caee9d96..a9dca7e12c4 100644 --- a/src/scenes/MyMove/index.jsx +++ b/src/scenes/MyMove/index.jsx @@ -135,6 +135,10 @@ export class CustomerApp extends Component { {/* auth required */} <CustomerPrivateRoute exact path="/ppm" component={PpmLanding} /> + + {/* ROOT */} + <CustomerPrivateRoute path="/" exact component={Home} /> + {getWorkflowRoutes(props)} <CustomerPrivateRoute exact path="/moves/:moveId/edit" component={Edit} /> <CustomerPrivateRoute exact path="/moves/review/edit-profile" component={EditProfile} /> @@ -179,9 +183,6 @@ export class CustomerApp extends Component { </div> </Route> - {/* ROOT */} - <CustomerPrivateRoute path="/" exact component={Home} /> - {/* 404 */} <Route component={this.noMatch} /> </Switch> From 5cc74892af0cad25ce8612797369ee8c1ce0eb43 Mon Sep 17 00:00:00 2001 From: Suzanne Rozier <suz@truss.works> Date: Tue, 9 Mar 2021 23:15:41 +0000 Subject: [PATCH 2/2] Add tests for rendering MyMove index with different feature flags --- src/scenes/MyMove/index.test.js | 54 +++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/src/scenes/MyMove/index.test.js b/src/scenes/MyMove/index.test.js index aee109fb863..0b12bcb75d5 100644 --- a/src/scenes/MyMove/index.test.js +++ b/src/scenes/MyMove/index.test.js @@ -1,11 +1,61 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow, mount } from 'enzyme'; -import { CustomerApp } from './index'; +import ConnectedCustomerApp, { CustomerApp } from './index'; import Header from 'shared/Header/MyMove'; import Footer from 'shared/Footer'; import SomethingWentWrong from 'shared/SomethingWentWrong'; +import { MockProviders } from 'testUtils'; +import { AppContext } from 'shared/AppContext'; + +describe('ConnectedCustomerApp tests', () => { + describe('with GHC/HHG feature flags turned off', () => { + const mockContext = { + flags: { + hhgFlow: false, + ghcFlow: false, + }, + }; + + it('renders without crashing or erroring', () => { + const wrapper = mount( + <MockProviders initialEntries={['/']}> + <AppContext.Provider value={mockContext}> + <ConnectedCustomerApp /> + </AppContext.Provider> + </MockProviders>, + ); + const appWrapper = wrapper.find('#app-root'); + expect(appWrapper).toBeDefined(); + expect(appWrapper.find('PageNotInFlow')).toHaveLength(0); + expect(wrapper.find(SomethingWentWrong)).toHaveLength(0); + }); + }); + + describe('with GHC/HHG feature flags turned on', () => { + const mockContext = { + flags: { + hhgFlow: true, + ghcFlow: true, + }, + }; + + it('renders without crashing or erroring', () => { + const wrapper = mount( + <MockProviders initialEntries={['/']}> + <AppContext.Provider value={mockContext}> + <ConnectedCustomerApp /> + </AppContext.Provider> + </MockProviders>, + ); + const appWrapper = wrapper.find('#app-root'); + expect(appWrapper).toBeDefined(); + expect(appWrapper.find('PageNotInFlow')).toHaveLength(0); + expect(wrapper.find(SomethingWentWrong)).toHaveLength(0); + }); + }); +}); describe('CustomerApp tests', () => { let wrapper;