Вот функция, которую я хочу проверить с помощью шутки и энзима:
const getTotalValue = (list: string[], element: HTMLElement) : number => list
.map((prop: string) => element ? parseInt(Object(window.getComputedStyle(element))[prop], 10) : 0)
.reduce((prev, cur) => prev + +cur, 0);
Вот как я пытаюсь это проверить:
describe('getTotalValue', () => {
it('returns a number', () => {
const properties: string[] = [ 'height', 'width' ];
const wrapper = mount(<div style={{ height: 500, width: 200 }}>test</div>);
expect(getTotalValue(properties, wrapper.instance())).not.toBeNaN();
});
});
Когда я делаю wrapper.instance()
, Тест проходит успешно, но я получаю эту ошибку во время компиляции:
Argument of type 'Component<{}, {}, any>' is not assignable to parameter of type 'HTMLElement'.
Я знаю, что это ошибка машинописного текста. Но я хочу знать, как я могу получить HTMLElement с использованием фермента?