Skip to content
Snippets Groups Projects
Commit 8267f877 authored by Lotte Hofstede's avatar Lotte Hofstede
Browse files

Merge branch 'rest-relationships' of...

Merge branch 'rest-relationships' of https://github.com/artlowel/dspace-angular into w2p-40416_simple-item-page
parents 9906dd59 45d174cc
No related branches found
No related tags found
No related merge requests found
......@@ -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<any>;
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);
});
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment