From dec5ead6c1a5819e904c08ad9cb626a1704fefef Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Wed, 4 Mar 2020 19:56:35 +0100
Subject: [PATCH] fix json obj mutating bug

---
 ...lateCoordinatesTransformation.service.spec.ts |  5 ++++-
 .../viewerState.useEffect.spec.ts                | 16 +++++++++-------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/services/templateCoordinatesTransformation.service.spec.ts b/src/services/templateCoordinatesTransformation.service.spec.ts
index d91b6f89f..08906f068 100644
--- a/src/services/templateCoordinatesTransformation.service.spec.ts
+++ b/src/services/templateCoordinatesTransformation.service.spec.ts
@@ -31,11 +31,14 @@ describe('templateCoordinatesTransformation.service.spec.ts', () => {
         const service = TestBed.inject(TemplateCoordinatesTransformation)
         const httpTestingController = TestBed.inject(HttpTestingController)
 
+        // subscriptions are necessary for http fetch to occur
         service.getPointCoordinatesForTemplate(
           'from',
           'target',
           [1,2,3]
-        )
+        ).subscribe((_ev) => {
+          
+        })
         const req = httpTestingController.expectOne(service.url)
         expect(req.request.method).toEqual('POST')
         expect(
diff --git a/src/ui/viewerStateController/viewerState.useEffect.spec.ts b/src/ui/viewerStateController/viewerState.useEffect.spec.ts
index 36e9b115b..8fc55ccd9 100644
--- a/src/ui/viewerStateController/viewerState.useEffect.spec.ts
+++ b/src/ui/viewerStateController/viewerState.useEffect.spec.ts
@@ -14,10 +14,12 @@ import { HttpClientModule } from '@angular/common/http'
 const bigbrainJson = require('!json-loader!src/res/ext/bigbrain.json')
 const colinJson = require('!json-loader!src/res/ext/colin.json')
 const colinJsonNehubaConfig = require('!json-loader!src/res/ext/colinNehubaConfig.json')
-const reconstitutedColin = {
-  ...colinJson,
-  nehubaConfig: colinJsonNehubaConfig
-}
+const reconstitutedColin = JSON.parse(JSON.stringify(
+  {
+    ...colinJson,
+    nehubaConfig: colinJsonNehubaConfig
+  }
+))
 let returnPosition = null
 @Injectable()
 class MockCoordXformService{
@@ -28,12 +30,12 @@ class MockCoordXformService{
   }
 }
 
-const initialState = defaultRootState
-defaultRootState.viewerState.fetchedTemplates = [
+const initialState = JSON.parse(JSON.stringify( defaultRootState ))
+initialState.viewerState.fetchedTemplates = [
   bigbrainJson,
   reconstitutedColin
 ]
-initialState.viewerState.templateSelected = defaultRootState.viewerState.fetchedTemplates[0]
+initialState.viewerState.templateSelected = initialState.viewerState.fetchedTemplates[0]
 const currentNavigation = {
   position: [4, 5, 6],
   orientation: [0, 0, 0, 1],
-- 
GitLab