UNPKG

1.79 kBJavaScriptView Raw
1import { mount } from 'enzyme';
2import * as ReactDOM from 'react-dom';
3import * as ReactTestUtils from 'react-dom/test-utils';
4export function findNodes(wrapper, className) {
5 return wrapper.find(className).filterWhere(function (node) { return typeof node.type() === 'string'; });
6}
7export function expectNodes(wrapper, className, n) {
8 expect(findNodes(wrapper, className).length).toEqual(n);
9}
10export function expectOne(wrapper, className) {
11 expectNodes(wrapper, className, 1);
12}
13export function expectMissing(wrapper, className) {
14 expectNodes(wrapper, className, 0);
15}
16/** @deprecated Use fake timers and `jest.runAllTimers()` instead */
17export function delay(millisecond) {
18 return new Promise(function (resolve) { return setTimeout(resolve, millisecond); });
19}
20/**
21 * Mounts the element attached to a child of document.body. This is primarily for tests involving
22 * event handlers (which don't work right unless the element is attached).
23 */
24export function mountAttached(element) {
25 var parent = document.createElement('div');
26 document.body.appendChild(parent);
27 return mount(element, { attachTo: parent });
28}
29export function renderIntoDocument(element) {
30 var component = ReactTestUtils.renderIntoDocument(element);
31 var renderedDOM = ReactDOM.findDOMNode(component);
32 return renderedDOM;
33}
34export function mockEvent(targetValue) {
35 if (targetValue === void 0) { targetValue = ''; }
36 var target = { value: targetValue };
37 return { target: target };
38}
39/**
40 * Hack for forcing Jest to run pending promises
41 * https://github.com/facebook/jest/issues/2157#issuecomment-279171856
42 */
43export function flushPromises() {
44 return new Promise(function (resolve) { return setImmediate(resolve); });
45}
46//# sourceMappingURL=testUtilities.js.map
\No newline at end of file