react-testing-library
Version:
Simple and complete React DOM testing utilities that encourage good testing practices.
53 lines (42 loc) • 1.37 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
require("jest-dom/extend-expect");
var _react = _interopRequireDefault(require("react"));
var _ = require("../");
afterEach(_.cleanup);
test('render calls useEffect immediately', () => {
const effectCb = jest.fn();
(0, _.render)(_react.default.createElement(function () {
_react.default.useEffect(effectCb);
return null;
}, null));
expect(effectCb).toHaveBeenCalledTimes(1);
});
test('fireEvent triggers useEffect calls', () => {
const effectCb = jest.fn();
const {
container: {
firstChild: buttonNode
}
} = (0, _.render)(_react.default.createElement(function () {
_react.default.useEffect(effectCb);
const [count, setCount] = _react.default.useState(0);
return _react.default.createElement("button", {
onClick: () => setCount(count + 1)
}, count);
}, null));
effectCb.mockClear();
_.fireEvent.click(buttonNode);
expect(buttonNode).toHaveTextContent('1');
expect(effectCb).toHaveBeenCalledTimes(1);
});
test('calls to hydrate will run useEffects', () => {
const effectCb = jest.fn();
(0, _.render)(_react.default.createElement(function () {
_react.default.useEffect(effectCb);
return null;
}, null), {
hydrate: true
});
expect(effectCb).toHaveBeenCalledTimes(1);
});