import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SettingsComponent } from './settings.component'; import {ApiService} from '../services/api.service'; import {LoginService} from '../services/login.service'; import {Router} from '@angular/router'; // TODO let routerServiceSpy: jasmine.SpyObj; let apiServiceSpy: jasmine.SpyObj; let loginServiceSpy: jasmine.SpyObj; describe('SettingsComponent', () => { let component: SettingsComponent; let fixture: ComponentFixture; beforeEach(async(() => { const routerSpy = jasmine.createSpyObj('Router', ['navigate']); const apiSpy = jasmine.createSpyObj('ApiService', ['post', 'put']); const loginSpy = jasmine.createSpyObj('LoginService', ['login', 'canActivate']); TestBed.configureTestingModule({ declarations: [ SettingsComponent ], providers: [ {provide: Router, useValue: routerSpy}, {provide: ApiService, useValue: apiSpy}, {provide: LoginService, useValue: loginSpy}, ] }) .compileComponents(); routerServiceSpy = TestBed.inject(Router) as jasmine.SpyObj; apiServiceSpy = TestBed.inject(ApiService) as jasmine.SpyObj; loginServiceSpy = TestBed.inject(LoginService) as jasmine.SpyObj; })); beforeEach(() => { fixture = TestBed.createComponent(SettingsComponent); component = fixture.componentInstance; component.ngOnInit(); fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); });