import { TestBed, async } from '@angular/core/testing'; import { provideRoutes } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { NavbarComponent } from './navbar/navbar.component'; import { SearchComponent } from './search/search.component'; import { FooterComponent } from './footer/footer.component'; import { HomeComponent } from './home/home.component'; import { LanguageSelectComponent } from './language-select/language-select.component'; import { HelpComponent } from './help/help.component'; import { AppComponent } from './app.component'; import { FormsModule } from '../../node_modules/@angular/forms/src/form_providers'; import { NameListService } from './name-list/name-list.service'; import { Observable } from 'rxjs/Observable'; describe('App', () => { // provide our implementations or mocks to the dependency injector beforeEach(() => { TestBed.configureTestingModule({ imports: [RouterTestingModule, FormsModule], declarations: [AppComponent, NavbarComponent, SearchComponent, FooterComponent, HomeComponent, LanguageSelectComponent, HelpComponent], providers: [provideRoutes([]), { provide: NameListService, useValue: new MockNameListService() }] }).compileComponents(); }); it('should create the app', async(() => { let fixture = TestBed.createComponent(AppComponent); let app = fixture.debugElement.componentInstance; expect(app).toBeTruthy(); })); // it('should render img tag', async(() => { // let fixture = TestBed.createComponent(AppComponent); // fixture.detectChanges(); // let compiled = fixture.debugElement.nativeElement; // expect(compiled.querySelector('img').src).toContain('/assets/optum_logo.png'); // })); // it(`should have as title 'Angular 2 App | ng2-webpack'`, async(() => { // let fixture = TestBed.createComponent(AppComponent); // let app = fixture.debugElement.componentInstance; // expect(app.title).toEqual('Angular 2 App | ng2-webpack'); // })); }); class MockNameListService { returnValue: string[]; get(): Observable { return Observable.create((observer: any) => { observer.next(this.returnValue); observer.complete(); }); } }