diff --git a/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.html b/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.html
index d926b5330e..084232edf4 100644
--- a/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.html
+++ b/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.html
@@ -1,6 +1,8 @@
diff --git a/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts b/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts
new file mode 100644
index 0000000000..47e7d6c34e
--- /dev/null
+++ b/src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts
@@ -0,0 +1,54 @@
+import { ComponentFixture, TestBed, async } from '@angular/core/testing';
+import { By } from '@angular/platform-browser';
+import { Component, DebugElement } from '@angular/core';
+
+import { MetadataFieldWrapperComponent } from './metadata-field-wrapper.component';
+
+@Component({
+ selector: 'ds-component-with-content',
+ template: '\n' +
+ ' \n' +
+ '
\n' +
+ ''
+})
+class ContentComponent {}
+
+describe('MetadataFieldWrapperComponent', () => {
+ let component: MetadataFieldWrapperComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [MetadataFieldWrapperComponent, ContentComponent]
+ }).compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(MetadataFieldWrapperComponent);
+ component = fixture.componentInstance;
+ });
+
+ const wrapperSelector = '.simple-view-element';
+ const labelSelector = '.simple-view-element-header';
+
+ it('should create', () => {
+ expect(component).toBeDefined();
+ });
+
+ it('should not show a label when there is no content', () => {
+ component.label = 'test label';
+ fixture.detectChanges();
+ const debugLabel = fixture.debugElement.query(By.css(labelSelector));
+ expect(debugLabel).toBeNull();
+ });
+
+ it('should show a label when there is content', () => {
+ const parentFixture = TestBed.createComponent(ContentComponent);
+ parentFixture.detectChanges();
+ const parentComponent = parentFixture.componentInstance;
+ const parentNative = parentFixture.nativeElement;
+ const nativeLabel = parentNative.querySelector(labelSelector);
+ expect(nativeLabel.textContent).toContain('test label');
+ });
+
+});
diff --git a/src/app/+item-page/field-components/metadata-values/metadata-values.component.ts b/src/app/+item-page/field-components/metadata-values/metadata-values.component.ts
index 36499c4721..1c94b56d57 100644
--- a/src/app/+item-page/field-components/metadata-values/metadata-values.component.ts
+++ b/src/app/+item-page/field-components/metadata-values/metadata-values.component.ts
@@ -1,4 +1,5 @@
import { Component, Input } from '@angular/core';
+import { Metadatum } from '../../../core/shared/metadatum.model';
/**
* This component renders the configured 'values' into the ds-metadata-field-wrapper component.
@@ -11,7 +12,7 @@ import { Component, Input } from '@angular/core';
})
export class MetadataValuesComponent {
- @Input() values: any;
+ @Input() values: Metadatum[];
@Input() separator: string;