Files
goTorrent/torrent-project/node_modules/material-ui/test-utils/createMount.js.flow

32 lines
902 B
Plaintext

// @flow weak
import { unmountComponentAtNode } from 'react-dom';
import type { Element } from 'react';
import { mount as enzymeMount } from 'enzyme';
// Generate an enhanced mount function.
export default function createMount(options1: Object = {}) {
const { mount = enzymeMount, ...other1 } = options1;
const attachTo = window.document.createElement('div');
attachTo.className = 'app';
attachTo.setAttribute('id', 'app');
window.document.body.insertBefore(attachTo, window.document.body.firstChild);
const mountWithContext = function mountWithContext(node: Element<any>, options2: Object = {}) {
return mount(node, {
attachTo,
...other1,
...options2,
});
};
mountWithContext.attachTo = attachTo;
mountWithContext.cleanUp = () => {
unmountComponentAtNode(attachTo);
attachTo.parentNode.removeChild(attachTo);
};
return mountWithContext;
}