I'm working through the Angular2 testing guide and wish to write a test for the ngOnInit()
function. The one from the Routing section of the programming guide has this format:
let org: Org = null;
ngOnInit(): void {
let that = this;
this.route.data
.subscribe((data: { org: Org }) => {
that.org = data.org;
});
}
This is fulfilled through a resolver, like:
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Org> {
let id = this.authService.user.orgId;
return this.orgService
.getOrg(id)
.map(
(org: Org) : Org => {
if(org) {
return org;
} else {
// If the Org isn't available then the edit page isn't appropriate.
this.router.navigate(['/provider/home']);
return null;
}
})
.first();
}
The code works OK, but I'm not sure how to write a test for ngOnInit
. The examples available to me assume that an embedded OrgService
can be replaced by a MockOrgService
. However, all I have is a resolver.
I'll eventually figure out how to test the resolver on its own. Are there any useful tests I can do with a resolver-based ngOnInit
?