В настоящее время я пытаюсь протестировать свой компонент, используя jest / энзим, и по какой-то причине, когда я пытаюсь сделать так, чтобы мой компонент не переопределял значения реквизитов по умолчанию с параметром, который я передаю на моем мелком предмете.
Это то, что у меня есть в моем компоненте:
У меня это есть в моем компоненте DataGridComponent
componentDidMount() {
this.props.getMyData(this.props)
.then(() => {
this.setState({
gridSheet: getTabData(metaDataStaging, this.state.objKey),
gridCol: modelHelper.createNewObj(this.props.myData.data.id, someOtherVal),
});
});
}
В моем тесте у меня есть:
let wrapper;
const props = {
getGridData: mockgetGridData,
metaDataStaging: null,
myData: null,
};
beforeEach(() => {
wrapper = shallow(<DataGridComponent {...props} />);
});
it('should render my data tabs on my DataGridComponent', () => {
const overrideProps = {
…props,
myData: {
data: {
idName: 'my name',
idDescription: 'test',
id: 1234,
type: ‘RE45’
},
},
}
const wrapperTwo = shallow(<DataGridComponent {...overrideProps} />);
expect(wrapperTwo).toMatchSnapshot();
});
Когда япроверить это, я получаю сообщение об ошибке
"TypeError: Cannot read property 'data' of null"
и указывает на:
"this.props.myData.data.id"
в моем DataGridComponent.Может кто-нибудь помочь здесь?