import { Component, Input } from '@angular/core'; import { TestBed, waitForAsync, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { provideMockStore, MockStore } from '@ngrx/store/testing'; import { HomeComponent } from './home.component'; import { AppConfigService } from 'src/app/app-config.service'; import { Instance } from '../../metamodel/models'; describe('HomeComponent', () => { @Component({ selector: '<app-welcome', template: '' }) class WelcomeStubComponent { @Input() instance: Instance; @Input() apiUrl: string; } let component: HomeComponent; let fixture: ComponentFixture<HomeComponent>; let store: MockStore; let appConfigServiceStub = new AppConfigService(); beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [RouterTestingModule], declarations: [ HomeComponent, WelcomeStubComponent ], providers: [ provideMockStore({ }), { provide: AppConfigService, useValue: appConfigServiceStub }, ] }).compileComponents(); fixture = TestBed.createComponent(HomeComponent); component = fixture.componentInstance; store = TestBed.inject(MockStore); })); it('should create the component', () => { expect(component).toBeDefined(); }); it('#getApiUrl() should return API URL address', () => { appConfigServiceStub.apiUrl = 'http://test.com'; expect(component.getApiUrl()).toBe('http://test.com'); }); });