react-testing-library
Version:
Simple and complete React DOM testing utilities that encourage good testing practices.
50 lines (44 loc) • 1.43 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _react = _interopRequireDefault(require("react"));
var _ = require("../");
require("jest-dom/extend-expect");
afterEach(_.cleanup);
test('rerender will re-render the element', () => {
const Greeting = props => _react.default.createElement("div", null, props.message);
const {
container,
rerender
} = (0, _.render)(_react.default.createElement(Greeting, {
message: "hi"
}));
expect(container.firstChild).toHaveTextContent('hi');
rerender(_react.default.createElement(Greeting, {
message: "hey"
}));
expect(container.firstChild).toHaveTextContent('hey');
});
test('hydrate will not update props until next render', () => {
const container = document.body.appendChild(document.createElement('div'));
container.innerHTML = '<input />';
const input = container.querySelector('input');
const firstValue = 'hello';
if (!input) throw new Error('No element');
input.value = firstValue;
const {
rerender
} = (0, _.render)(_react.default.createElement("input", {
value: "",
onChange: () => null
}), {
container,
hydrate: true
});
const secondValue = 'goodbye';
expect(input.value).toBe(firstValue);
rerender(_react.default.createElement("input", {
value: secondValue,
onChange: () => null
}));
expect(input.value).toBe(secondValue);
});