У меня есть нативный компонент, который выглядит следующим образом:
export class Estimate extends PureComponent {
setRef =
(ref) => {
this.estimateForm = ref
}
render () {
const { onPress } = this.props
return (
<Form
name="estimateForm"
ref={this.setRef}
>
<Actions style={{ alignItems: 'flex-end' }}>
<Button
type="text"
style={{ marginBottom: -em(0.5) }}
onPress={() => onPress(this.estimateForm.values)}
title={t('estimateShippingAndTax')}
/>
<TextInput
placeholder={t('postalCode')}
name="estimate"
style={{ width: 100 }}
validate="postalCode"
/>
</Actions>
</Form>
)
}
}
мой тест на шутку / фермент выглядит следующим образом:
let obj
let onPressFunction
describe('Estimate', () => {
beforeAll(() => {
onPressFunction = jest.fn()
obj = shallow(<Estimate onPress={onPressFunction} />)
})
test('Text gets returned with onPress', () => {
console.log(obj.html())
const value = { values: { estimate: '61606' } }
obj.instance().setRef(value)
obj.find('Button').first().simulate('onPress')
expect(onPressFunction).toHaveBeenCalledWith('61606')
})
})
Я не могу пройти тест, хотямой компонент работает как положено.Мой тест завершается неудачно с:
Ожидаемая фиктивная функция была вызвана с: ["61606"] Но она не была вызвана.