I have this code:
export class ProgramComponent implements OnInit {
@Input() events: Observable<any>;
eventsSubscription: any;
...
ngOnInit() {
this.eventsSubscription = this.events.subscribe((event) => {
... <- Some code that I want to test!!!!
console.log("The test doesn't get past here!!!!");
});
}
}
describe('BLA BLA BLA', () => {
let component: ProgramComponent;
let fixture: ComponentFixture<ProgramComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
...
],
declarations: [ProgramComponent],
providers: [
...
]
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ProgramComponent);
component = fixture.componentInstance;
// HERE I WANT TO SPY ON THAT EVENTS OBSERVABLE AND RETURN SOME VALUE
// I tried this without success
spyOn(component, 'events').and.returnValue({type: 'somevalue'}))
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
The problem is that fixture.detectChanges(); does not trigger the subscribe of the events observable. Do I have to use spyOnProperty? But it's an Input of the component...
I already check this and this.
Thanks!
Aucun commentaire:
Enregistrer un commentaire