Skip to content
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

Documentation issue, mount -> update #2494

Open
anton-johansson opened this issue Jan 28, 2021 · 3 comments
Open

Documentation issue, mount -> update #2494

anton-johansson opened this issue Jan 28, 2021 · 3 comments

Comments

@anton-johansson
Copy link

Hi! I'm just getting started with Enzyme, and I think it looks great so far.

I think I've come across a documentation issue. I work with TypeScript, and when I look at the method update() of the return value of mount(...), like this:

const document = mount(<div>test</div>);
document.update();

The documentation in my IDE says the following:

    /**
     * Forces a re-render. Useful to run before checking the render output if something external may be updating
     * the state of the component somewhere.
     * Returns itself.
     *
     * NOTE: can only be called on a wrapper instance that is also the root instance.
     */

However, if I look at this page, it says:

Syncs the enzyme component tree snapshot with the react component tree.

If the latter is correct, this is definitely the function I'm looking for. I do have something external that is updating the state, so synchronizing the trees makes sense. If the former is correct, it's absolutely not something I want to do, because I feel like forcing a re-render breaks the integrity of the test. It should re-render on its own if everything is in order.

I hope you understand what I'm saying here, and I'd appreciate any answer that could indicate which of the documentation is correct (or if I'm looking at two different documentations completely!).

@mrdulin
Copy link

mrdulin commented Apr 22, 2022

The document of .update() method needs more clearly.

something external may be updating the state of the component somewhere

What does "something external" means?

@ljharb
Copy link
Member

ljharb commented Apr 22, 2022

JavaScript outside of your test.

@mrdulin
Copy link

mrdulin commented Apr 22, 2022

@ljharb Sorry, still don't understand. There is an example in the doc .update() => Self.

The example uses a class component with the property count. How is this "something external"? I spent 2 minutes reading the source code of the .update method, the intent is not easy to understand.

Is there any other scenario considered as "something external"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants