rerenderer
Version:
For React: Easy handling of object editing and state update re-renders
24 lines (23 loc) • 1 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import renderer, { act } from 'react-test-renderer';
import { RefreshProvider, useRefresh } from '../src/refresh';
describe('RefreshProvider and useRefresh', function () {
it('re-renders children when refresh is called', function () {
var renderCount = 0;
function TestComponent() {
renderCount++;
var refresh = useRefresh().refresh;
return _jsx("button", { onClick: refresh, children: renderCount });
}
var testRenderer = renderer.create(_jsx(RefreshProvider, { children: _jsx(TestComponent, {}) }));
var button = testRenderer.root.findByType('button');
// Initial render count
expect(button.children).toEqual(['1']);
// Trigger refresh to force re-render
act(function () {
button.props.onClick();
});
// After refresh, renderCount should be incremented
expect(button.children).toEqual(['2']);
});
});