X-Git-Url: https://juplo.de/gitweb/?p=examples%2Fangular-tour-of-heroes;a=blobdiff_plain;f=src%2Fapp%2Fhero.service.spec.ts;h=0ec21def3e73ade12fe0cad80afd1fedc80f5752;hp=082791a7adcdfe503689a9a78896bf7ba84c42a8;hb=ee578cce6211199049a491e3119deba48a484478;hpb=d42007487362bd314434f11dc26c3a291e7ff4e7 diff --git a/src/app/hero.service.spec.ts b/src/app/hero.service.spec.ts index 082791a..0ec21de 100644 --- a/src/app/hero.service.spec.ts +++ b/src/app/hero.service.spec.ts @@ -1,12 +1,35 @@ -import { TestBed } from '@angular/core/testing'; +import { TestBed} from '@angular/core/testing'; +import { TestScheduler } from 'rxjs/testing'; import { HeroService } from './hero.service'; +import { Hero } from './hero'; +import {map} from 'rxjs/operators'; describe('HeroService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + let service: HeroService; + let scheduler: TestScheduler; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(HeroService); + scheduler = new TestScheduler(((actual, expected) => { + expect(actual).toEqual(expected); + })); + }); it('should be created', () => { - const service: HeroService = TestBed.get(HeroService); expect(service).toBeTruthy(); }); + + it('get for id=0 should return an empty Observable', () => + scheduler.run(({expectObservable}) => { + expectObservable(service.getHero(0)).toBe('(|)'); + }) + ); + + it('get for id=11 should return an Observable, that contains the hero with id 11', () => + scheduler.run(({expectObservable}) => { + expectObservable(service.getHero(11)).toBe('(a|)', { a: { id: 11, name: 'Dr Nice' }}); + }) + ); });