// #docplaster // #docregion imports import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { BannerComponent } from './banner-inline.component'; // #enddocregion imports // #docregion setup describe('BannerComponent (inline template)', () => { let comp: BannerComponent; let fixture: ComponentFixture; let de: DebugElement; let el: HTMLElement; // #docregion before-each beforeEach(() => { TestBed.configureTestingModule({ declarations: [ BannerComponent ], // declare the test component }); fixture = TestBed.createComponent(BannerComponent); comp = fixture.componentInstance; // BannerComponent test instance // query for the title

by CSS element selector de = fixture.debugElement.query(By.css('h1')); el = de.nativeElement; }); // #enddocregion before-each // #enddocregion setup // #docregion test-w-o-detect-changes it('no title in the DOM until manually call `detectChanges`', () => { expect(el.textContent).toEqual(''); }); // #enddocregion test-w-o-detect-changes // #docregion tests it('should display original title', () => { fixture.detectChanges(); expect(el.textContent).toContain(comp.title); }); it('should display a different test title', () => { comp.title = 'Test Title'; fixture.detectChanges(); expect(el.textContent).toContain('Test Title'); }); // #enddocregion tests // #docregion setup }); // #enddocregion setup