import { ComponentFixture, TestBed, async } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { ThumbnailComponent } from './thumbnail.component'; import { Bitstream } from '../core/shared/bitstream.model'; import { SafeUrlPipe } from '../shared/utils/safe-url-pipe'; describe('ThumbnailComponent', () => { let comp: ThumbnailComponent; let fixture: ComponentFixture<ThumbnailComponent>; let de: DebugElement; let el: HTMLElement; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ThumbnailComponent, SafeUrlPipe] }).compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ThumbnailComponent); comp = fixture.componentInstance; // BannerComponent test instance de = fixture.debugElement.query(By.css('div.thumbnail')); el = de.nativeElement; }); it('should display image', () => { comp.thumbnail = new Bitstream(); comp.thumbnail.content = 'test.url'; fixture.detectChanges(); const image: HTMLElement = de.query(By.css('img')).nativeElement; expect(image.getAttribute('src')).toBe(comp.thumbnail.content); }); it('should display placeholder', () => { fixture.detectChanges(); const image: HTMLElement = de.query(By.css('img')).nativeElement; expect(image.getAttribute('src')).toBe(comp.defaultImage); }); });