import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core'; import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { MockTranslateLoader } from '../../../../../shared/testing/mock-translate-loader'; import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component'; import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec'; import { GenericItemPageFieldComponent } from './generic-item-page-field.component'; let comp: GenericItemPageFieldComponent; let fixture: ComponentFixture; const mockValue = 'test value'; const mockField = 'dc.test'; const mockLabel = 'test label'; const mockFields = [mockField]; describe('GenericItemPageFieldComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ imports: [TranslateModule.forRoot({ loader: { provide: TranslateLoader, useClass: MockTranslateLoader } })], declarations: [GenericItemPageFieldComponent, MetadataValuesComponent], schemas: [NO_ERRORS_SCHEMA] }).overrideComponent(GenericItemPageFieldComponent, { set: {changeDetection: ChangeDetectionStrategy.Default} }).compileComponents(); })); beforeEach(async(() => { fixture = TestBed.createComponent(GenericItemPageFieldComponent); comp = fixture.componentInstance; comp.item = mockItemWithMetadataFieldAndValue(mockField, mockValue); comp.fields = mockFields; comp.label = mockLabel; fixture.detectChanges(); })); it('should display display the correct metadata value', () => { expect(fixture.nativeElement.innerHTML).toContain(mockValue); }); });