Giter Club home page Giter Club logo

Comments (10)

abhinaba-ghosh avatar abhinaba-ghosh commented on July 21, 2024

Hey @DaveHarlow Thanks for raising the concern with the maximum details possible. Appreciate it. I will spend some time over the weekend to dig deeper.

from cypress-react-selector.

chdg61 avatar chdg61 commented on July 21, 2024

Hello.
I have the same problem.
Have you not done this task yet?

I use version 2.3.7

from cypress-react-selector.

abhinaba-ghosh avatar abhinaba-ghosh commented on July 21, 2024

Hi @chdg61 , i am really busy with day to day activities. But will definitely have a look in the upcoming weekend.

Till then have a look in this example https://github.com/abhinaba-ghosh/cypress-react-selector/blob/master/component/components/ProductsList.spec.js

from cypress-react-selector.

chdg61 avatar chdg61 commented on July 21, 2024

OK. I see. I found out a problem. If I use resq$ without this wrapper then I get the same result.
The first test is correct, others are not.

I tried running native resq$ by example:

waitToLoadReact(2000).then(() => {
    const component = resq$('MyComponent');
    console.log('component', component);
});

As result, the first request has returned the correct data as ReactComponent.
But the second request has returned only that object:

{
_nodes: e(0),
}

from cypress-react-selector.

abhinaba-ghosh avatar abhinaba-ghosh commented on July 21, 2024

Hey @chdg61 you have to mount and waitForReact before each test. Can you confirm the same?

from cypress-react-selector.

chdg61 avatar chdg61 commented on July 21, 2024

Yes. I call mount and waitForReact inside a test. Because I have different components and props for render for each test.

I've played with resq$ library and found out that if I use this library without calling waitToLoadReact so it works correctly.

So this library lets use root element as the second argument: resq$('My*Component', root);

After was looking at the code of your library I tried to replace cy.react to cy.get('#__cy_root').react and cy.getReact to cy.get('#__cy_root').getReact. And that has worked as well.

from cypress-react-selector.

chdg61 avatar chdg61 commented on July 21, 2024

If I will have free time I will try to make PR to fix it.

Sure, If I can understand all code and context inside the library :)

from cypress-react-selector.

abhinaba-ghosh avatar abhinaba-ghosh commented on July 21, 2024

@chdg61 , that will be appreciated. Just wanted to check something, have you configured the root inside of your cypress.json file as depicted here

If it is properly defined in the cypress.json, you don't need to place the workaround. The library will take care of it automatically.

from cypress-react-selector.

chdg61 avatar chdg61 commented on July 21, 2024

Hm... You are right. I didn't it.

Now it's OK. I've added the environment and remove get("#__cy_root") and it's working.

Thank you.

I think that param of the environment must be required if a user uses @cypress/react

from cypress-react-selector.

abhinaba-ghosh avatar abhinaba-ghosh commented on July 21, 2024

@chdg61 I am glad that it worked. Thanks again for digging deep into it.

@DaveHarlow I invested in your attached codebase and figured out the root information is missing. Let's add and retry the tests. Feel free to open this ticket if the issue still persists.

from cypress-react-selector.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.