From 9c444764a19895acb4bb7c45a5d31adfe346890d Mon Sep 17 00:00:00 2001 From: Antoine Snyers Date: Tue, 9 Oct 2018 15:25:21 +0200 Subject: [PATCH] Add tests for the MetadataFieldWrapperComponent --- .../metadata-field-wrapper.component.spec.ts | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/app/+item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts 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..f7cd8f1786 --- /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 {} + +fdescribe('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'); + }); + +});