import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ActivitiesComponent } from './activities.component'; import {ActivitiesService} from './activities.service'; import {Activity} from '@nspop/gm-web-facade-api'; import {of} from 'rxjs'; import {LocalizationPipe} from './localize'; import {BrowserModule} from '@angular/platform-browser'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {ActivityModalComponent} from './activity-modal/activity-modal.component'; import {EditPlanModalComponent} from './edit-plan-modal/edit-plan-modal.component'; import {DataFieldComponent} from './data-field/data-field.component'; import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {WeekNumberPipe} from '../pipes/week-number.pipe'; import {MatFormFieldModule} from '@angular/material/form-field'; import {MatRadioModule} from '@angular/material/radio'; import {MatCheckboxModule} from '@angular/material/checkbox'; import {ModalComponent} from '../modals/modal/modal.component'; import {MatInputModule} from '@angular/material/input'; import {MatIcon, MatIconModule} from '@angular/material/icon'; import {Component, Input} from '@angular/core'; import {DirtyGuard} from '../confirm-navigation-if-dirty.framework'; import {HttpClientTestingModule} from '@angular/common/http/testing'; import {CarePlanService} from '../api/care-plan.service'; @Component({ // tslint:disable-next-line:component-selector selector: 'mat-icon', template: '' }) class MockMatIconComponent { @Input() svgIcon: any; @Input() fontSet: any; @Input() fontIcon: any; } @Component({ selector: 'app-general-information-bar', template: '' }) class MockGeneralInfoBarComponent { // tslint:disable-next-line:no-input-rename @Input('fixed-at') fixedAt = 0; } describe('ActivitiesComponent', () => { let component: ActivitiesComponent; let fixture: ComponentFixture; let activitiesServiceStub: ActivitiesService; beforeEach(async () => { activitiesServiceStub = { openActivityModalEvent$: of(undefined), openResumeModalEvent$: of(undefined), get: of([...Array(20).keys()].map((index) => ({id: index}))), activeDataCard$: of(undefined), activities$: of(undefined), futureActivities$: of(undefined), pastActivities$: of(undefined), } as any; await TestBed.configureTestingModule({ declarations: [ ActivitiesComponent, LocalizationPipe, ActivityModalComponent, EditPlanModalComponent, DataFieldComponent, WeekNumberPipe, ModalComponent, MockGeneralInfoBarComponent, ], providers: [ {provide: ActivitiesService, useValue: activitiesServiceStub}, {provide: DirtyGuard, useValue: {canDeactivate: () => true}}, {provide: CarePlanService, useValue: { carePlan$: of(undefined) }}, ], imports: [ ReactiveFormsModule, BrowserAnimationsModule, BrowserModule, FormsModule, MatFormFieldModule, MatRadioModule, MatCheckboxModule, MatInputModule, MatIconModule, HttpClientTestingModule, ] }) .overrideModule(MatIconModule, { remove: { declarations: [MatIcon], exports: [MatIcon] }, add: { declarations: [MockMatIconComponent], exports: [MockMatIconComponent] } }) .compileComponents(); }); beforeEach(() => { fixture = TestBed.createComponent(ActivitiesComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); });