У меня есть provider
написано с TS. Этот provider
имеет функцию useState
. Благодаря хуку context
я передаю данные через приложение. Я создаю context
следующим образом:
const SomeContext = createContext<useSomeProps>({
state: { array: [], globalError: false, globalSuccess: true },
updateObject: (_object: ObjectType) => new Promise((resolve) => { resolve(true) }),
deleteObject: (_object: ObjectType) => new Promise((resolve) => { resolve(true) }),
etc.
})
Код работает, проблема в тестовом покрытии. Функции updateObject
и deleteObject
не рассматриваются.
Я пытался применить подходы официальной документации, но не смог заставить ее работать:
https://testing-library.com/docs/example-react-context
Я попробовал следующее:
describe('context', () => {
const renderComponent = () => render(
<ObjectsProvider>
<ObjectsContext.Consumer>
{values => Object.keys(values).forEach((value) => {
return <span>Received: {value}</span>
})}
</ObjectsContext.Consumer>
</objectsProvider>
)
// it renders the component, checks snapshot test
})
Не уверен насчет:
- Если
updateObject
введен правильно? - Как проверить начальное значение крюка
createContext
.