From b4395d7905c2cb1dc3c83d7a3078024b545f88d4 Mon Sep 17 00:00:00 2001
From: DD <liudi08@gmail.com>
Date: Tue, 16 Oct 2018 19:39:36 -0400
Subject: [PATCH] Fix tests

---
 test/unit/util/vm-manager-hoc.test.jsx | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/test/unit/util/vm-manager-hoc.test.jsx b/test/unit/util/vm-manager-hoc.test.jsx
index 0bcb8f4b8..1738b9dd1 100644
--- a/test/unit/util/vm-manager-hoc.test.jsx
+++ b/test/unit/util/vm-manager-hoc.test.jsx
@@ -60,6 +60,7 @@ describe('VMManagerHOC', () => {
         const WrappedComponent = vmManagerHOC(Component);
         const mounted = mount(
             <WrappedComponent
+                fontsLoaded
                 isLoadingWithId={false}
                 store={store}
                 vm={vm}
@@ -75,27 +76,38 @@ describe('VMManagerHOC', () => {
         // nextTick needed since vm.loadProject is async, and we have to wait for it :/
         process.nextTick(() => expect(mockedOnLoadedProject).toHaveBeenLastCalledWith(LoadingState.LOADING_VM_WITH_ID));
     });
-    test('if there is projectData, the child is rendered', () => {
+    test('if the fontsLoaded prop becomes true, it loads project data into the vm', () => {
+        vm.loadProject = jest.fn(() => Promise.resolve());
+        const mockedOnLoadedProject = jest.fn();
         const Component = () => <div />;
         const WrappedComponent = vmManagerHOC(Component);
         const mounted = mount(
             <WrappedComponent
-                projectData="100"
+                isLoadingWithId
                 store={store}
                 vm={vm}
+                onLoadedProject={mockedOnLoadedProject}
             />
         );
-        expect(mounted.find('div').length).toBe(1);
+        mounted.setProps({
+            fontsLoaded: true,
+            loadingState: LoadingState.LOADING_VM_WITH_ID,
+            projectData: '100'
+        });
+        expect(vm.loadProject).toHaveBeenLastCalledWith('100');
+        // nextTick needed since vm.loadProject is async, and we have to wait for it :/
+        process.nextTick(() => expect(mockedOnLoadedProject).toHaveBeenLastCalledWith(LoadingState.LOADING_VM_WITH_ID));
     });
-    test('if there is no projectData, nothing is rendered', () => {
+    test('if there is projectData, the child is rendered', () => {
         const Component = () => <div />;
         const WrappedComponent = vmManagerHOC(Component);
         const mounted = mount(
             <WrappedComponent
+                projectData="100"
                 store={store}
                 vm={vm}
             />
         );
-        expect(mounted.find('div').length).toBe(0);
+        expect(mounted.find('div').length).toBe(1);
     });
 });
-- 
GitLab