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

Consolidate gateways implementation - step II #7944

Merged
merged 8 commits into from
Dec 29, 2023
Merged

Conversation

timur27
Copy link
Contributor

@timur27 timur27 commented Dec 26, 2023

This PR is the second step of #7782. The first part is covered by #7937.

Changes proposed in this Pull Request

#7937 merged the split UPE into the UPE gateway, leaving the merging of the UPE gateway into the gateway for this PR. Th main goal of this PR is to have the single gateway class for the WooPayments plugin.

While merging, some unused areas of code (e.g. non-used variables) were removed from the codebase as well.

💡 Unit tests for gateways merging as well as E2E tests merging are not in the scope of this PR. This is in order for us to be able to review this PR faster to possibly include it into the 7.0.0 release, leaving the (unrelated to production code) test improvements for the separate PR which I'll take care of.

Testing instructions

  • enable multiple payment methods and confirm every gateway is displayed as expected on blocks & shortcode checkouts
  • check some critical flows
  • confirm that save payment method checkbox is displayed both on shortcode and blocks checkout
  • enable WooPay and confirm that
    • payments via WooPay checkout are working as expected (additionally for this use-case please confirm that the WooPay's save payment method checkbox is displayed)
    • payments via shortcode checkout are working correctly (check CC & one non-card payment method)
    • payments via blocks checkout are working correctly (check CC & one non-card payment method)
  • after performing successful payments, check in the WooCommerce -> Orders if the order is displayed correctly
  • check the successful payment's details on Stripe by confirming that the status is correct and potentially performing a high-level sanity check of the request/metadata fields
  • disable WooPay, enable Stripe Link, perform a payment with Stripe Link and confirm there are no unexpected errors

This PR touches main classes so it's hard to pin-point some explicit test cases. I expect plugin to either fail at some major stages (like e.g. opening the checkout page) or work correctly everywhere. Besides the above list of testing instructions, feel free to additionally check anything you might find worth checking after going through the code.


  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@timur27 timur27 changed the base branch from develop to cleanup/upe-gateways December 26, 2023 16:47
@botwoo
Copy link
Collaborator

botwoo commented Dec 26, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 7944 or branch name cleanup/upe-gateways-II in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: 3de5620
  • Build time: 2023-12-28 13:25:58 UTC

Note: the build is updated when a new commit is pushed to this PR.

Copy link
Contributor

github-actions bot commented Dec 26, 2023

Size Change: -241 B (0%)

Total Size: 1.27 MB

Filename Size Change
release/woocommerce-payments/dist/blocks-checkout.js 85.3 kB -71 B (0%)
release/woocommerce-payments/dist/checkout.js 36.9 kB -50 B (0%)
release/woocommerce-payments/dist/payment-request.js 13.4 kB -58 B (0%)
release/woocommerce-payments/dist/woopay-express-button.js 52.4 kB -62 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.06 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.8 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.8 kB
release/woocommerce-payments/dist/checkout-rtl.css 318 B
release/woocommerce-payments/dist/checkout.css 319 B
release/woocommerce-payments/dist/index-rtl.css 37.9 kB
release/woocommerce-payments/dist/index.css 37.9 kB
release/woocommerce-payments/dist/index.js 289 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.4 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.7 kB
release/woocommerce-payments/dist/multi-currency.css 3.4 kB
release/woocommerce-payments/dist/multi-currency.js 55.9 kB
release/woocommerce-payments/dist/order-rtl.css 676 B
release/woocommerce-payments/dist/order.css 679 B
release/woocommerce-payments/dist/order.js 42.3 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.31 kB
release/woocommerce-payments/dist/payment-gateways.css 1.31 kB
release/woocommerce-payments/dist/payment-gateways.js 39.5 kB
release/woocommerce-payments/dist/payment-request-rtl.css 153 B
release/woocommerce-payments/dist/payment-request.css 153 B
release/woocommerce-payments/dist/product-details.js 919 B
release/woocommerce-payments/dist/settings-rtl.css 10.4 kB
release/woocommerce-payments/dist/settings.css 10.4 kB
release/woocommerce-payments/dist/settings.js 234 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.4 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 710 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.5 kB
release/woocommerce-payments/dist/tos-rtl.css 230 B
release/woocommerce-payments/dist/tos.css 231 B
release/woocommerce-payments/dist/tos.js 22 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 153 B
release/woocommerce-payments/dist/woopay-express-button.css 153 B
release/woocommerce-payments/dist/woopay-rtl.css 4.18 kB
release/woocommerce-payments/dist/woopay.css 4.19 kB
release/woocommerce-payments/dist/woopay.js 71.8 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 812 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.32 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.8 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.32 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.03 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.05 kB

compressed-size-action

@timur27 timur27 force-pushed the cleanup/upe-gateways-II branch 2 times, most recently from 5971468 to 1255ed4 Compare December 26, 2023 17:06
Base automatically changed from cleanup/upe-gateways to develop December 27, 2023 07:07
@timur27 timur27 force-pushed the cleanup/upe-gateways-II branch from 1255ed4 to 0c1f238 Compare December 27, 2023 07:08
@timur27 timur27 force-pushed the cleanup/upe-gateways-II branch 2 times, most recently from 5105bfb to 9159e5d Compare December 27, 2023 12:29
@timur27 timur27 force-pushed the cleanup/upe-gateways-II branch from 9159e5d to d256f60 Compare December 27, 2023 13:48
@timur27 timur27 marked this pull request as ready for review December 27, 2023 16:29
@timur27 timur27 requested review from a team, mdmoore and gpressutto5 and removed request for a team and mdmoore December 27, 2023 16:33
Copy link
Contributor

@gpressutto5 gpressutto5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything is working as expected 💪🏻

@timur27 timur27 added this pull request to the merge queue Dec 29, 2023
Merged via the queue into develop with commit 62c69cb Dec 29, 2023
28 checks passed
@timur27 timur27 deleted the cleanup/upe-gateways-II branch December 29, 2023 10:13
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

Successfully merging this pull request may close these issues.

3 participants