diff --git a/src/app/core/cache/object-cache.service.spec.ts b/src/app/core/cache/object-cache.service.spec.ts index b5e40f37de..827e39ab7e 100644 --- a/src/app/core/cache/object-cache.service.spec.ts +++ b/src/app/core/cache/object-cache.service.spec.ts @@ -57,36 +57,40 @@ describe("ObjectCacheService", () => { }); describe("get", () => { - it("should return an observable of the cached object with the specified UUID", () => { + it("should return an observable of the cached object with the specified UUID and type", () => { spyOn(store, 'select').and.returnValue(Observable.of(cacheEntry)); let testObj: any; //due to the implementation of spyOn above, this subscribe will be synchronous - service.get(uuid).take(1).subscribe(o => testObj = o); + service.get(uuid, TestClass).take(1).subscribe(o => testObj = o); expect(testObj.uuid).toBe(uuid); expect(testObj.foo).toBe("bar"); + // this only works if testObj is an instance of TestClass + expect(testObj.test()).toBe("bar" + uuid); }); it("should not return a cached object that has exceeded its time to live", () => { spyOn(store, 'select').and.returnValue(Observable.of(invalidCacheEntry)); let getObsHasFired = false; - const subscription = service.get(uuid).subscribe(o => getObsHasFired = true); + const subscription = service.get(uuid, TestClass).subscribe(o => getObsHasFired = true); expect(getObsHasFired).toBe(false); subscription.unsubscribe(); }); }); describe("getList", () => { - it("should return an observable of the array of cached objects with the specified UUID", () => { + it("should return an observable of the array of cached objects with the specified UUID and type", () => { spyOn(service, 'get').and.returnValue(Observable.of(new TestClass(uuid, "bar"))); let testObjs: Array; - service.getList([uuid, uuid]).take(1).subscribe(arr => testObjs = arr); + service.getList([uuid, uuid], TestClass).take(1).subscribe(arr => testObjs = arr); expect(testObjs[0].uuid).toBe(uuid); expect(testObjs[0].foo).toBe("bar"); + expect(testObjs[0].test()).toBe("bar" + uuid); expect(testObjs[1].uuid).toBe(uuid); expect(testObjs[1].foo).toBe("bar"); + expect(testObjs[1].test()).toBe("bar" + uuid); }); });