Skip to content

Instantly share code, notes, and snippets.

@kjendrzyca
Last active October 30, 2019 20:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kjendrzyca/c0299085aef74c08005af9fba76ea459 to your computer and use it in GitHub Desktop.
Save kjendrzyca/c0299085aef74c08005af9fba76ea459 to your computer and use it in GitHub Desktop.
function Button({ disabled, onClick }) {
return <button disabled={disabled} onClick={onClick}>Hi</button>;
}
function useHook(disabled) {
const onClick = useCallback(() => console.log('works'), []);
const renderedButton = <Button disabled={disabled} onClick={onClick} />;
return {
renderedButton,
};
}
it(`should work`, () => {
const { result, rerender: rerenderHook } = renderHook(disabled => useHook(disabled), {
initialProps: true,
});
const { getByText, rerender: rerenderButton } = render(
result.current.renderedButton,
);
expect(getByText('Hi').disabled).toEqual(true);
rerenderHook(false);
rerenderButton(result.current.renderedButton);
expect(getByText('Hi').disabled).toEqual(false);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment