Files
dspace-angular/src/app/shared/mocks/mock-active-router.ts
2018-05-15 11:03:18 +02:00

35 lines
807 B
TypeScript

import { Params } from '@angular/router';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
export class MockActivatedRoute {
private _testParams?: any;
// ActivatedRoute.params is Observable
private subject?: BehaviorSubject<any> = new BehaviorSubject(this.testParams);
params = this.subject.asObservable();
queryParams = this.subject.asObservable();
constructor(params?: Params) {
if (params) {
this.testParams = params;
} else {
this.testParams = {};
}
}
// Test parameters
get testParams() { return this._testParams; }
set testParams(params: {}) {
this._testParams = params;
this.subject.next(params);
}
// ActivatedRoute.snapshot.params
get snapshot() {
return { params: this.testParams, queryParams: this.testParams };
}
}