magento / pwa-studio

🛠Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.
https://developer.adobe.com/commerce/pwa-studio/
Open Software License 3.0
1.07k stars 683 forks source link

[feature]: Create E2E cypress Packaged #2395

Closed larsroettig closed 3 years ago

larsroettig commented 4 years ago

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered From my point of view, I think MFTF will not be so lovely for Testing PWA, and cypress is very common in React. Also, MFTF needs huge resources to set up and run E2E Tests. An additional Packaged can be installed you can use default use cases provided by core and community team.

Additional context Add any other context or screenshots about the feature request here. Create a new Packaged that contained venina cypress test case.

Please let us know what packages this feature is in regards to:

Jordaneisenburger commented 4 years ago

Hey Lars,

We like many others also use Cypress for E2E testing. I think this is as important as unit testing but since we don't want pwa studio to be extremely opinionated towards a 3rth party solution I think it won't make sense to incorporate this into the core.

What does make perfect sense to me is that we jus like the pwa-devdocs folder make another folder for example named community-packages which isn't directly tied to the core but contains packes/extensions that are made to work really well with venia.

So I could imagine we'd have something like community-packages/cypress which contains cypress tests made for venia-concept and a manual on how to install this package into your own project. This would make it super easy for developer to start with cypress testing their pwa studio projects because we've done most of the heavy lifting for them.

I'm not sure if this is inline with the vision of the core team but to me it sound like a win-win for everyone.

awilcoxa commented 4 years ago

Created in Jira backlog for triage - PWA-654

davemacaulay commented 4 years ago

@larsroettig @Jordaneisenburger there's certainly some interest in moving our E2E tests from MFTF to something that aligns with the ecosystem. Cypress appears to be the frontrunner in that regard and it's great to see that you're already using it internally.

Currently we maintain our MFTF test suite out of cycle of code delivery, which puts a burden on our QA and additional doesn't guarantee we aren't causing wider app breakages during delivery. You can see our current E2E test coverage here: https://github.com/magento/pwa-tests/

We'll need to validate how to include these tests into the monorepo and how they can be ran as part of our CI pipeline. @Jordaneisenburger would you be willing to create a small PoC which utilizes the configuration you use for your test suite?

Jordaneisenburger commented 4 years ago

@davemacaulay sure, that'll probably be somewhere next week.

larsroettig commented 4 years ago

@davemacaulay @Jordaneisenburger I take this to hackathon on Friday

sirugh commented 3 years ago

Thanks for bringing this idea up! We have internal resources allocated to working on this effort.