react-testing-library
Version:
Simple and complete React DOM testing utilities that encourage good testing practices.
51 lines (40 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Simulate = exports.flushPromises = exports.render = undefined;
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _testUtils = require('react-dom/test-utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// we may expose this eventually
function select(id) {
return `[data-testid="${id}"]`;
}
// we may expose this eventually
function queryDivByTestId(div, id) {
return div.querySelector(select(id));
}
function render(ui) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$container = _ref.container,
container = _ref$container === undefined ? document.createElement('div') : _ref$container;
_reactDom2.default.render(ui, container);
return {
container,
unmount: function unmount() {
return _reactDom2.default.unmountComponentAtNode(container);
},
queryByTestId: queryDivByTestId.bind(null, container)
};
}
// this returns a new promise and is just a simple way to
// wait until the next tick so resolved promises chains will continue
function flushPromises() {
return new Promise(function (resolve) {
return setImmediate(resolve);
});
}
exports.render = render;
exports.flushPromises = flushPromises;
exports.Simulate = _testUtils.Simulate;