Я использую Jest и React-testing-library для тестирования компонента React.Я рендерил компонент с поставщиком API контекста, чтобы у компонента был доступ к контексту.К сожалению, я не знаю, как я могу получить к нему доступ снаружи визуализированного компонента.В этом случае в контексте есть свойство isUserLogged
, в зависимости от того, какой компонент изменяется.Но я не знаю, как я могу изменить значение этого свойства.Как я могу подойти к этому делу?Если требуется подделка API контекста, как я могу это сделать?
В прилагаемом коде я пытаюсь получить доступ к контексту с помощью ловушки useContext.Ошибка говорит, что я не могу использовать хуки вне компонентов React.И, очевидно, я пытаюсь получить доступ к контексту вне провайдера контекста, чтобы он все равно не работал.
import { Provider, Context } from '../../context';
test('Star is not clickable for a non-registered user', () => {
const { getByTestId } = render(<Provider><Star /></Provider>);
const isUserLogged = useContext(Context).isUserLogged; // Error.
});