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;