import { HttpClient } from '@angular/common/http'; import { Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { ActivatedRoute, Router } from '@angular/router'; import { of } from 'rxjs'; import { TeamsComponent } from './teams.component'; import { TeamsService } from './teams.service'; describe('TeamsComponent', () => { let component: TeamsComponent; let fixture: ComponentFixture; const mockRoute = jasmine.createSpyObj('ActivatedRoute', ['']); const mockParam = jasmine.createSpyObj('P', ['get']); mockParam.get.and.returnValue('abc'); mockRoute.snapshot = { paramMap: mockParam }; const mockTeamService = jasmine.createSpyObj('TeamsService', ['']); const mockRouter = jasmine.createSpyObj('Router', ['']); const mockHttp = jasmine.createSpyObj('HttpClient', ['get']); mockHttp.get.and.returnValue(of({})) beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [ TeamsComponent, MockOverviewComponent ], imports: [ MatProgressSpinnerModule ], providers: [ { provide: ActivatedRoute, useValue: mockRoute}, { provide: Router, useValue: mockRouter}, { provide: TeamsService, useValue: mockTeamService}, { provide: HttpClient, useValue: mockHttp}, ] }) .compileComponents(); fixture = TestBed.createComponent(TeamsComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); it('should load a team', () => { expect(component.teamsService.team).not.toBeNull(); }) }); @Component({ selector: 'app-overview', template: '', }) class MockOverviewComponent { }