Tried to fix the automatically generated test for HeroDetailComponent
authorKai Moritz <kai@juplo.de>
Sat, 9 May 2020 21:25:33 +0000 (23:25 +0200)
committerKai Moritz <kai@juplo.de>
Mon, 11 May 2020 16:23:16 +0000 (18:23 +0200)
src/app/hero-detail/hero-detail.component.spec.ts

index 5e34497..e2235b4 100644 (file)
@@ -2,13 +2,35 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 
 import { HeroDetailComponent } from './hero-detail.component';
 
+import { Observable, of } from 'rxjs';
+import { Hero } from '../hero';
+import { HeroService } from '../hero.service';
+import {ActivatedRoute } from '@angular/router';
+
+class MockHeroService {
+
+  getHero(id: number): Observable<Hero> {
+    return of({ id: 666, name: 'Mister Devil' });
+  }
+}
+
+class MockLocation {}
+
 describe('HeroDetailComponent', () => {
   let component: HeroDetailComponent;
   let fixture: ComponentFixture<HeroDetailComponent>;
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      declarations: [ HeroDetailComponent ]
+      declarations: [ HeroDetailComponent ],
+      providers: [
+        { provide: ActivatedRoute, useValue: {
+            params: of({ id: '666'})
+          }
+        },
+        { provide: HeroService, useClass: MockHeroService },
+        { provide: Location, useClass: MockLocation }
+      ]
     })
     .compileComponents();
   }));