-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide testing/mocking instructions and export react-tracking/mock #134
Comments
Hi team, We've been integrating this wonderful package into our own application but have faced some issues with fixing broken unit tests as a result. We tried using the mock above to set the Here's an example:
When we move the EDIT: the prop-type warning was due to the mock using |
Hmm it may be because of the @track({ module: 'MyComponent' })
export class MyComponent extends Component {
render() {
...
}
}
const ConnectedMyComponent = connect(mapStateToProps)(MyComponent);
ConnectedMyComponent.propTypes = {
tracking: TrackingPropType,
};
ConnectedMyComponent.defaultProps = {
tracking: null,
};
export default ConnectedMyComponent; If not, maybe you could create a repro in Codesandbox or something? I can try and take a closer look when I get a chance. |
Hi, could you elaborate on the EDIT? What did you do to fix it? I'm newbie to react, just got a task to fix this problem. I also got a TypeError bug: Thanks a lot in advance! |
Hey @l225li are you still having this issue? Could you share more of your code or maybe create a Codesandbox example so I can take a closer look? |
With respect to the comment from @l225li, I also observed this issue recently when integrating For tracking implemented at the component level, a lot of the code looks like this...
The key for mocking, then, is to mock the default exported function ( By default, jest mocks do not support ES module semantics; when
This prevented me from mocking
Hope this helps. Aside: really love the work NYT team has done with this library. In recent years I have spent a lot of time working on Android (where NYT team also shines), and was very pleasantly surprised to find this library, which shares a core philosophy and solves foundational problems I encountered in past projects in the mobile space. Great job. |
Thank you @wokkaflokka , that's very helpful. And thank you for the kind words! 🤗 |
To disable
It doesn't solve testability, just avoid dealing with renamed HOC classes and such in test. |
I've been meaning to provide this as importable within react-tracking via something like:
import track, { mockTrackEvent, TrackingPropType } from 'react-tracking/mock';
but haven't had a chance yet. PRs welcome! 😁Originally posted by @tizmagik in #112 (comment)
The text was updated successfully, but these errors were encountered: