forked from hazza/dspace-angular
130: more core tests
This commit is contained in:
38
src/app/core/cache/object-cache.effects.spec.ts
vendored
Normal file
38
src/app/core/cache/object-cache.effects.spec.ts
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { provideMockActions } from '@ngrx/effects/testing';
|
||||
import { cold, hot } from 'jasmine-marbles';
|
||||
import { ObjectCacheEffects } from './object-cache.effects';
|
||||
import { ResetObjectCacheTimestampsAction } from './object-cache.actions';
|
||||
import { StoreActionTypes } from '../../store.actions';
|
||||
|
||||
describe('ObjectCacheEffects', () => {
|
||||
let cacheEffects: ObjectCacheEffects;
|
||||
let actions: Observable<any>;
|
||||
const timestamp = 10000;
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [
|
||||
ObjectCacheEffects,
|
||||
provideMockActions(() => actions),
|
||||
// other providers
|
||||
],
|
||||
});
|
||||
|
||||
cacheEffects = TestBed.get(ObjectCacheEffects);
|
||||
});
|
||||
|
||||
describe('fixTimestampsOnRehydrate$', () => {
|
||||
|
||||
it('should return a RESET_TIMESTAMPS action in response to an REHYDRATE action to a new route', () => {
|
||||
spyOn(Date.prototype, 'getTime').and.callFake(() => {
|
||||
return timestamp;
|
||||
});
|
||||
actions = hot('--a-', { a: { type: StoreActionTypes.REHYDRATE, payload: {} } });
|
||||
|
||||
const expected = cold('--b-', { b: new ResetObjectCacheTimestampsAction(new Date().getTime()) });
|
||||
|
||||
expect(cacheEffects.fixTimestampsOnRehydrate).toBeObservable(expected);
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user