--- title: Enzyme category: React --- ## ReactWrapper ```js wrap = shallow() // => ReactWrapper (shallow) wrap = mount() // => ReactWrapper (full) ``` ### Traversing ```js wrap.find('button') // => ReactWrapper wrap.filter('button') // => ReactWrapper wrap.not('span') // => ReactWrapper (inverse of filter()) wrap.children() // => ReactWrapper wrap.parent() // => ReactWrapper wrap.closest('div') // => ReactWrapper wrap.childAt(0) // => ReactWrapper wrap.at(0) // => ReactWrapper wrap.first() // => ReactWrapper wrap.last() // => ReactWrapper ``` ```js wrap.get(0) // => ReactElement wrap.getNode() // => ReactElement wrap.getNodes() // => Array wrap.getDOMNode() // => DOMComponent ``` ### Actions ```js wrap.simulate('click') ``` ### React components ```js wrap.setState({ ... }) wrap.setProps({ ... }) wrap.setContext({ ... }) wrap.state() // => Any (get state) wrap.props() // => object (get props) wrap.context() // => Any (get context) wrap.instance() // => ReactComponent ``` ### Mount ```js wrap.mount() wrap.unmount() wrap.update() // calls forceUpdate() ``` ### Tests ```js wrap.debug() // => string wrap.html() // => string wrap.text() // => string wrap.type() // => string | function wrap.name() // => string wrap.is('.classname') // => boolean wrap.hasClass('class') // => boolean wrap.exists() // => boolean wrap.contains(
) // => boolean wrap.contains([
]) // => boolean wrap.containsMatchingElement(
) // => boolean wrap.containsAllMatchingElements([
]) // => boolean wrap.containsAnyMatchingElements([
]) // => boolean ``` ## References -