Select Git revision
helper.ts 1.41 KiB
import { DebugElement, Type } from '@angular/core';
import { ComponentFixture } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
export function getElementFromFixtureByType<T>(fixture: ComponentFixture<any>, component: Type<T>): T {
return getDebugElementFromFixtureByType(fixture, component).componentInstance as T;
}
function getDebugElementFromFixtureByType<T>(fixture: ComponentFixture<any>, component: Type<T>): DebugElement {
return fixture.debugElement.query(By.directive(component));
}
export function getElementFromFixture(fixture: ComponentFixture<any>, htmlElement: string): any {
return fixture.nativeElement.querySelector(htmlElement);
}
export function getElementsFromFixture(fixture: ComponentFixture<any>, htmlElement: string): any {
return fixture.nativeElement.querySelectorAll(htmlElement);
}
export function dispatchEventFromFixture(fixture: ComponentFixture<any>, elementSelector: string, event: string): void {
const element = getDebugElementFromFixtureByCss(fixture, elementSelector)
element.nativeElement.dispatchEvent(new Event(event));
}
export function getDebugElementFromFixtureByCss(fixture: ComponentFixture<any>, query: string): DebugElement {
return fixture.debugElement.query(By.css(query));
}
export function getElementFromDomRoot(fixture: ComponentFixture<any>, htmlElement: string): any {
return fixture.nativeElement.parentNode.querySelector(htmlElement);
}