logo
down
shadow

How Do I get an HOC wrapped component function from enzyme instance when mounting?


How Do I get an HOC wrapped component function from enzyme instance when mounting?

Content Index :

How Do I get an HOC wrapped component function from enzyme instance when mounting?
Tag : javascript , By : Kiltec
Date : November 29 2020, 04:01 AM

To fix the issue you can do After writing this up, I found the answer, but I feel like this is worth sharing because I was very confused about it.
Instead of using app.find(Child) (component constructor), use app.find('Child') (component display name). This will find the actual component and not the hoc-wrapped component.

Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

Enzyme - how to get an instance of a function from a container, to pass as a prop to a component?


Tag : reactjs , By : xguru
Date : March 29 2020, 07:55 AM
like below fixes the issue The idea is based on calling someFuction props of MyComponent, THEN, check if someFunction method of MyContainer is called :
import {mount} from 'enzyme';
import sinon from 'sinon';
import expect from 'expect';

describe('<MyContainer />', () => {

   it(`renders <MyComponent /> which receives the method "MyContainer::someFunction" as props`, () => {
       const someFunctionMethod = sinon.stub(MyContainer.prototype, 'someFunction').returns(true);
       const wrapper = mount(<MyContainer />);
       const actualSomeFunctionProp = wrapper.find(MyComponent).at(0).props().someFunction;

       expect(actualSomeFunctionProp).toBeA('function');
       actualSomeFunctionProp();
       expect(someFunctionMethod.called).toBeTruthy();
       someFunctionMethod.restore();

   })

})

Enzyme renders wrapped component rather than base component


Tag : reactjs , By : Monev
Date : March 29 2020, 07:55 AM
will help you Enzyme's shallow method just renders the children declared in render method (AppBar, Toolbar, and so on), and the output shows that they are wrapped by the same withStyles HOC.
Exporting the testable version of your root component allows you to actually test its real output (div), but won't prevent its children component from being wrapped by withStyles HOC.

Stop React Higher Order Component from mounting before wrapped component?


Tag : javascript , By : Waynew
Date : March 29 2020, 07:55 AM
Hope that helps You can just wait untill you have the user and then render the child like
  render() {
            const user = this.state.user;
            console.log(user); //prints null once and the correct profile once
            return (<div>
               {user && <AuthComponent history={this.props.history} user={this.state.user} />}
            </div>);
        }
    };

How can I test react-native component with mocha + enzyme + chai when it's wrapped in a Provider component


Tag : testing , By : lifchicker
Date : March 29 2020, 07:55 AM

How to test wrapped component with enzyme?


Tag : javascript , By : glisignoli
Date : March 29 2020, 07:55 AM
fixed the issue. Will look into that further I tend to favour the same approach that Redux takes with connect, and make the actual component available as a static on the exported component.
const MyComponent = (props) => ( ... );

const ConnectedComponent = usingMyHoc(...)(MyComponent) ;
ConnectedComponent.WrappedComponent = MyComponent;

export default ConnectedComponent;
Related Posts Related QUESTIONS :
  • How to keyboard down or up between dropdown "options"?
  • Http Auth in a Firefox 3 bookmarklet
  • How can I turn a string of HTML into a DOM object in a Firefox extension?
  • Call ASP.NET function from JavaScript?
  • JavaScript Troubleshooting Tools in Internet Explorer
  • MAC addresses in JavaScript
  • Capturing TAB key in text box
  • How to set CSS background color of HTML using JavaScript
  • How can I make the browser see CSS and Javascript changes?
  • redux how to use state
  • All data in the db is lost when closing a express based node js server
  • How to convert javascript code for Angular
  • XPath select on child nodes
  • Idle event on mouse move - how to stop script permanently on mouse move
  • Why do I get logic is not defined in this code
  • When I enter a number in the input, the first function starts
  • ES6 imports and node_modules hell
  • How to get css selector of clicked-on element?
  • How to auto input MySQL data (input column 1 data to auto input column 2 data with same column) in php?
  • Appending to Datalist Via Javascript
  • Customizing Material-UI Components with Styled-Components
  • Populate elements with class name using Javascript
  • How to execute promises in batches (first resolving 10, then next 10 and so on)
  • Maximo JS automation script: "importPackage" is not defined
  • How to surround selected text inside textarea with <em> on key combination CTRL+i?
  • Your configured registry does not support audit requests ~ On npm audit
  • What's the Angular equivalent of Vue <slot/>?
  • Iconify icon not updating when "data-icon" set with setAttribute()
  • Javascript newbie stuck with XMLHttpRequest return data
  • How to add obj to to state in my example Redux React
  • Loading "grunt-karma.js" tasks...ERROR >> SyntaxError: Unexpected identifier
  • Why do I get log is not defined
  • get the multiple index of the same string
  • How can I iterate over an Array object by using For IN or FOR OF
  • Launch local executable from web browser
  • How to prepare array of json objects to d3 hierarchical tree structure
  • VueJS - event emitted - show HTML before other calculations
  • Export SASS/SCSS variables to Javascript without exporting them to CSS
  • How to attach an event handler only once continuously
  • How to make button open a link in new tab in JavaScript?
  • Find range from the javascript object
  • How can I use my jQuery code as JavaScript?
  • How to show 5 images in a 2 row slider with bxslider
  • How to convert stream into variables in typescript
  • Three.js custom shader error on Chrome GL_INVALID_OPERATION: Active draw buffers with missing fragment shader outputs
  • My JavaScript doesn't work. How can I solve this problem?
  • Why is this async function is running synchronously?
  • Get updated variable from within react hook before return
  • I want to show all image preview but whenever I upload a new one the old one is gone
  • Would I be able to give access to specific electron APIs safely?
  • Why several clicks fire for each instance of a Class?
  • cant grab value from div using attr()
  • Make web service not accessible by browser?
  • Select DOM elements within template
  • How to customize angular ui-grid row background color?
  • Binding data in two respective $scope in AngularJS, how?
  • react put some props after import class
  • Variable is distributed among same components
  • switch class in jQuery/JavaScript for active/inactive state
  • How To Track Outbound Clicks Using Javascript
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com