Мне нужно проверить эту функцию
getMainHeaderHeight(): number {
const header = <HTMLElement>this.getMainHeaderElement();
return header instanceof Element ? header.offsetHeight : 0;
}
, но в моем модульном тесте я не могу смоделировать вывод функции getMainHeaderElement () и классэто не экземпляр Элемент и относительный тест не пройден header instanceof Element
ложно и, следовательно, значение, возвращаемое функциями, равно 0, а не elementHeight
import { DomService } from './dom.service';
describe('DomService', () => {
let service: DomService;
const elementHeight = 100;
let element: any;
beforeEach(() => {
service = new DomService();
function Element() {
this.offsetHeight = elementHeight;
}
element = new (Element as any);
element.innerHTML = 'text';
});
describe('#getMainHeaderHeight', () => {
it('should return the main header element height', () => {
let getMainHeaderElementSpy = jasmine.createSpy('getMainHeaderElement');
getMainHeaderElementSpy.and.returnValue(<Element>element);
service['getMainHeaderElement'] = getMainHeaderElementSpy;
const mainHeaderHeight = service.getMainHeaderHeight();
expect(mainHeaderHeight).toEqual(elementHeight);
});
});
});
Есть ли способ проверить это или я иду в неправильном направлении?
Заранее спасибо