У меня есть компонентactjs с пользовательскими свойствами, который на самом деле представляет собой список разрешенных расширений.
Например, мой компонент может получить в качестве поддержки что-то вроде этого:
<CustomComponent allowedTypes={['.pdf', '.txt']} />
и типы опор определяются следующим образом:
CustomComponent.propTypes = {
allowedTypes: PropTypes.arrayOf(
(propValue, key, componentName, location, propFullName) => {
if (!new RegExp(/^\.[^.]+$/).test(propValue[key])) {
return new Error(
`Invalid prop ${propFullName} for component ${componentName}.`
)
}
}
)
Мне необходимо полностью покрыть компонент модульным тестом, поэтому также должен быть указан код в определении типа опоры.
Iпробовал что-то подобное, но это не работает
beforeEach(() => {
console.error = jest.fn()
});
it('should check wrong allowed types', () => {
const wrongAllowedTypes = false
try {
const component = new CustomComponent(Object.assign(defaultProps, { allowedTypes: wrongAllowedTypes } ))
} catch (error) {
expect(console.error).toBeCalled()
}
})
Любые идеи, заранее спасибо