From 1a2bfa5df91ad2c426bc02c98bc4745a88c9ffe5 Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Tue, 27 Jul 2021 19:44:34 +0200 Subject: [PATCH] chore: fix unit tests --- .../layerCtrl.service.spec.ts | 129 +++++++++--------- 1 file changed, 66 insertions(+), 63 deletions(-) diff --git a/src/viewerModule/nehuba/layerCtrl.service/layerCtrl.service.spec.ts b/src/viewerModule/nehuba/layerCtrl.service/layerCtrl.service.spec.ts index e8e06c852..7e41087b1 100644 --- a/src/viewerModule/nehuba/layerCtrl.service/layerCtrl.service.spec.ts +++ b/src/viewerModule/nehuba/layerCtrl.service/layerCtrl.service.spec.ts @@ -28,7 +28,7 @@ describe('> layerctrl.service.ts', () => { 'getMultiNgIdsRegionsLabelIndexMap' ).and.returnValue(() => getMultiNgIdsRegionsLabelIndexMapReturnVal) mockStore.overrideSelector(viewerStateCustomLandmarkSelector, []) - + mockStore.overrideSelector(viewerStateSelectedRegionsSelector, []) mockStore.overrideSelector(viewerStateSelectedTemplateSelector, {}) mockStore.overrideSelector(viewerStateSelectedParcellationSelector, {}) }) @@ -48,7 +48,7 @@ describe('> layerctrl.service.ts', () => { expect(getMultiNgIdsRegionsLabelIndexMapSpy).toHaveBeenCalled() }) - it('> emitted value is as expected', () => { + it('> emitted value is as expected', fakeAsync(() => { const map = new Map<number, layerCtrlUtil.IRegion>() getMultiNgIdsRegionsLabelIndexMapReturnVal.set( 'foo-bar', @@ -64,19 +64,19 @@ describe('> layerctrl.service.ts', () => { }) const service = TestBed.inject(NehubaLayerControlService) - expect( - service.setColorMap$ - ).toBeObservable( - hot('a', { - a: { - 'foo-bar': { - 1: { red: 100, green: 200, blue: 255 }, - 2: { red: 15, green: 15, blue: 15} - } - } - }) - ) - }) + let v: any + service.setColorMap$.subscribe(val => { + v = val + }) + tick(32) + const expectedVal = { + 'foo-bar': { + 1: { red: 100, green: 200, blue: 255 }, + 2: { red: 15, green: 15, blue: 15} + } + } + expect(v).toEqual(expectedVal) + })) }) @@ -107,33 +107,34 @@ describe('> layerctrl.service.ts', () => { }) }) - it('> should inherit values from tmpl and parc', () => { + it('> should inherit values from tmpl and parc', fakeAsync(() => { const service = TestBed.inject(NehubaLayerControlService) - expect( - service.setColorMap$ - ).toBeObservable( - hot('a', { - a: { - 'bazz': { - 1: { red: 100, green: 100, blue: 100 }, - 2: { red: 100, green: 100, blue: 100 }, - 3: { red: 100, green: 100, blue: 100 }, - }, - 'hello-world': { - 4: { red: 200, green: 200, blue: 200 }, - 5: { red: 200, green: 200, blue: 200 }, - 6: { red: 200, green: 200, blue: 200 }, - 10: { red: 255, green: 255, blue: 255 }, - 11: { red: 255, green: 255, blue: 255 }, - 12: { red: 255, green: 255, blue: 255 }, - } - } - }) - ) - }) + let val + service.setColorMap$.subscribe(v => { + val = v + }) - it('> should overwrite any value if at all, from region', () => { + tick(32) + + expect(val).toEqual({ + 'bazz': { + 1: { red: 100, green: 100, blue: 100 }, + 2: { red: 100, green: 100, blue: 100 }, + 3: { red: 100, green: 100, blue: 100 }, + }, + 'hello-world': { + 4: { red: 200, green: 200, blue: 200 }, + 5: { red: 200, green: 200, blue: 200 }, + 6: { red: 200, green: 200, blue: 200 }, + 10: { red: 255, green: 255, blue: 255 }, + 11: { red: 255, green: 255, blue: 255 }, + 12: { red: 255, green: 255, blue: 255 }, + } + }) + })) + + it('> should overwrite any value if at all, from region', fakeAsync(() => { const map = new Map<number, layerCtrlUtil.IRegion>() map.set(10, { ngId: 'hello-world', @@ -146,29 +147,29 @@ describe('> layerctrl.service.ts', () => { getMultiNgIdsRegionsLabelIndexMapReturnVal.set('hello-world', map) const service = TestBed.inject(NehubaLayerControlService) - expect( - service.setColorMap$ - ).toBeObservable( - hot('a', { - a: { - 'bazz': { - 1: { red: 100, green: 100, blue: 100 }, - 2: { red: 100, green: 100, blue: 100 }, - 3: { red: 100, green: 100, blue: 100 }, - }, - 'hello-world': { - 4: { red: 200, green: 200, blue: 200 }, - 5: { red: 200, green: 200, blue: 200 }, - 6: { red: 200, green: 200, blue: 200 }, - 10: { red: 255, green: 255, blue: 255 }, - 11: { red: 255, green: 255, blue: 255 }, - 12: { red: 255, green: 255, blue: 255 }, - 15: { red: 0, green: 0, blue: 0 }, - } - } - }) - ) - }) + let val + service.setColorMap$.subscribe(v => { + val = v + }) + + tick(32) + expect(val).toEqual({ + 'bazz': { + 1: { red: 100, green: 100, blue: 100 }, + 2: { red: 100, green: 100, blue: 100 }, + 3: { red: 100, green: 100, blue: 100 }, + }, + 'hello-world': { + 4: { red: 200, green: 200, blue: 200 }, + 5: { red: 200, green: 200, blue: 200 }, + 6: { red: 200, green: 200, blue: 200 }, + 10: { red: 255, green: 255, blue: 255 }, + 11: { red: 255, green: 255, blue: 255 }, + 12: { red: 255, green: 255, blue: 255 }, + 15: { red: 0, green: 0, blue: 0 }, + } + }) + })) }) }) @@ -224,7 +225,9 @@ describe('> layerctrl.service.ts', () => { ).subscribe(val => { subscrbiedVal = val }) - + + // see TODO this is a dirty fix + tick(32) service.overwriteColorMap$.next(foobar2) tick(32) expect(subscrbiedVal).toEqual(foobar2) -- GitLab