Reputation: 261
Lets say I have some state service in angular
export class StateService {
private _someProperty: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
set someProperty(value: boolean) {
this._someProperty.next(value);
}
get someProperty() {
return this._someProperty.value;
}
get someProperty$() {
return this._someProperty.asObservable();
}
}
How can this be mocked correctly in jasmine? Probably something like this but I dont know how to mock these Behaviour Subject getters and setters.
const stateServiceMock = jasmine.createSpyObj('StateService', {
...
});
Upvotes: 0
Views: 1715
Reputation: 86
of() from Rxjs will return an observable where the given input value is "observed" immediatly.
so you can
spyOnProperty(stateService, 'someProperty$').andReturn(of(false));
dont forget to import "of" from rxjs
mocking with jasmine:
rxjs
Upvotes: 0