Я использую getBoundingClientRect
, чтобы получить смещение моего component
, но во время тестов он выдает ошибку.
Я натолкнулся на этот пост, в котором рассказывается, как имитировать getBoundingClientRect
но так как я получаю доступ к getBoundingClientRect
через current
объект, я не знаю, как его высмеивать.Любое предложение, как я могу преодолеть эту проблему.
test.js
import React from 'react';
import { MyComponent } from './SearchResultTable';
import { shallowWithTheme } from '../../helper';
describe('<Component test />', () => {
let component;
beforeEach(() => {
component = shallowWithTheme(
<MyComponent />,
);
Element.prototype.getBoundingClientRect = jest.fn(() => ({
width: 120,
height: 120,
top: 0,
left: 0,
bottom: 0,
right: 0,
}));
});
it('should not render grid if product data is not available', () => {
const instance = component.instance();
jest.spyOn(instance, 'renderRow');
expect(instance.renderRow).toHaveBeenCalledTimes(0);
expect(component.find('ReactDataGrid').exists()).toBe(false);
expect(component.find('#no-product-message').length).toBe(1);
});
});