-
Notifications
You must be signed in to change notification settings - Fork 206
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
Add QIT Custom E2E support and migrate tests #3555
base: develop
Are you sure you want to change the base?
Conversation
…tead of hardcoded.
…stripe into feature/qit-e2e
…dated tests accordingly.
@wjrosa this PR is ready for your review! |
Switching myself with @annemirasol as our porter this week. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pinging for review, I'm taking a look at it now and it's looking great overall.
Minor nit, but just to keep things dry you should be able to remove npx playwright install
from the postinstall
command in package.json
, now that this is handled by QIT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This worked great for me. I've just cloned this repo, added my Stripe keys on the env file, and ran these:
nvm use
npm i
npm run build
npm run test:local
And this is the test report that it generated.
I've just noticed a little bit of flakiness in some of the assertions that can be improved in the future, just for increased reliability in the tests themselves.
QIT improved orchestration is in code review and will be merged sometime this week, when it does, we'd just need to rename bootstrap.sh
to setup.sh
and entrypoint.js
to setup.js
.
@iamdharmesh @vikrampm1 To avoid impacting development that are currently underway for Stripe and Paypal, we created a new repo for hosting the new QIT tests. Could we move these tests to https://github.com/woocommerce/woocommerce-gateway-integration-qit, please? |
Fixes #3530
Changes proposed in this Pull Request:
This PR introduces initial support for QIT Custom E2E tests and migrates existing E2E tests to the QIT framework, enabling them to run in the QIT environment. As part of this migration, the old test environment has been removed, as QIT provides its own environment for running tests.
This is the first step towards adding integration tests to the workflow. QIT Custom E2E tests allow us to run tests for other plugins. This enables us to check plugin compatibility by running tests with specific plugins activated and configured or testing plugins while other plugins are active.
Key Changes
default
: Standard E2E tests (excludes legacy experience tests).legacy
: Tests for legacy experience.subscriptions-tests
: Tests for subscriptions functionality.Potential Improvements for the Next Iteration
bootstrap.sh
for plugin setup. The QIT team is working on improving this to support running tests as part of the bootstrap process. Once available, we can enhance our bootstrap workflow accordingly.Questions/Things to Discuss:
Testing instructions
npm install && composer install && npm run build
./tests/e2e/config/local.env.example
to/tests/e2e/config/local.env
.local.env
file.npm run test:e2e-local
and make sure that tests are running properly and are passing.changelog.txt
andreadme.txt
(or does not apply)Post merge