Skip to content

Release testing instructions for WC Payments 3.1.0

Naman Malhotra edited this page Dec 3, 2021 · 27 revisions

Test upload file appearance

Expected outcome

Button should look like this

Screen Shot 2021-10-01 at 11 30 33 AM

Testing instructions

  • Go to wp-admin > Payments > Disputes > Challenge dispute
  • Check if the button has the proper appearance according to image above

Test to add credit card using other payment gateways

Expected outcome

Customer should be able to add credit cards to their account using other payment gateways without errors poping out

Testing Instructions

  • Have WC Payments installed and configured
  • Have some other Credit Card Payment method installed and configured
  • Log in as a customer
  • Go to My account > Payment Methods
  • Click on Add Payment Method
  • Fill the other gateway Credit Card details
  • Try to submit
  • The error "Your card number is incomplete" should not show up

Test Currency switcher shouldn't affect Order confirmation screen prices

Expected outcome

Currency switcher shouldn't affect screen prices on My account -> Orders -> View order and Order received pages.

Testing instructions

  • Ensure you have three currencies: EUR, USD, and JPY.
  • Go to the store, switch the currency to Euro and buy some product.
  • On the order received page, try switching the currency to USD and JPY. Order price format (short and explicit) should not change.
  • Go to My account -> Orders. Select the order and click to go to the view order page.
  • On the view order page, try switching the currency to USD and JPY. Price format (short and explicit) should not change at the order details section.

Test add a new payment method to an existing subscription

Expected outcome

I am able to successfully change a subscription's payment method via My Account when UPE is enabled.

Testing instructions

  • As a Merchant, ensure UPE checkout is enabled via WCPay Dev and the WooCommerce Subscriptions plugin is installed.
  • As a Shopper, purchase any subscription product.
  • Navigate to My account → Subscriptions and open the newly created subscription entry.
  • Observe 3 buttons for “Actions”. Click “Change payment” button.
  • In the second block, select “Use a new payment method” option.
  • Provide 5555555555554444 as the test card number, future expiration date, and a CVC code.
  • Click the “Change payment method” button.
  • Ensure the payment method is updated successfully.

Shipping cost changes when switching shipping methods

Testing instructions

First of all you'll need at least two shipping methods for at least one shipping zone.

  • Go to WooCommerce > Settings > Shipping.
  • Click "Locations not covered by your other zones".
  • Click "Add shipping method" -> Select "Flat rate" in dropdown then click "Add shipping method".
  • Click "Add shipping method" -> Select "Free shipping" in dropdown then click "Add shipping method".
  • Mouse over "Flat rate" then click "Edit". set "Cost" to 20. Click "Save changes".
  • Create a simple product. Set price to 20.
  • Go to the product's page.
  • Click "Buy now" button
  • "Shipping" should cost $0 so far. Total should be $20.
  • Enter/chose a shipping address.
  • Notice "Shipping" costs $20 now. Total should be $40.
  • In Shipping Method, chose "Free shipping"
  • Shipping now should costs $0. Total should be $20.

Test dispute resolution task

Expected outcome

  • The dispute resolution task should be displayed correctly in the Things to do task list, when there are disputes to handle.

Testing instructions

  • Turn on the task list by running this command in WP-CLI ( wp option update _wcpay_feature_account_overview_task_list 'yes').
  • Go to Payments > Overview.
  • Verify that the disputes task is not visible when there aren't any disputes.
  • Create a new dispute. You can do this by purchasing one product with one of the Stripe test disputes cards (E.g.: 4000000000001976 use any date in the future and fill out CVC with any number).
  • Verify that the disputes task is displayed correctly in the Things to do task list.
  • Click on the card. You should be redirected to the dispute's overview screen.
  • Click on the dispute that you created and accept it.
  • Now the disputes task should be shown as completed.

Test Multi-currency onboarding

Expected outcome

If the users didn't complete the MC onboarding, the action button on the note on WooCommerce > Home titled Sell users in multiple currencies should redirect the users to the Multi-currency onboarding screen. And users can complete the onboarding and set the Multi-currency parameters like enabled currencies, storefront breadcrumb switcher and auto currency switch feature from that screen.

Testing instructions

Manual Testing:
  • Open WooCommerce > Home page and click Sell worldwide in multiple currencies link in the Things to do next task list, or click the Set up now button in the Sell worldwide in multiple currencies titled note.
  • Check the currency in the description matches the store currency.
  • Follow the wizard tasks
  • Check if the button shows the right amount
  • Check if WooCommerce Multi-Currency tab settings match with the settings you've chosen in the onboarding wizard.
  • Check if you can re-enter the onboarding wizard once you've completed the tasks.
Upe enabled manual testing
  • Enable some UPE methods to pre-add currencies to the enabled currencies list
  • Open the onboarding wizard
  • Check if those pre-added currencies available for selection, they shouldn't be on the checkbox list, they should be displayed as text above the currency selection form.

Status Reset

Once you completed the onboarding wizard, you can delete the wcpay_multi_currency_setup_completed option to reset the onboarding status. If you want the whole multi-currency states reverted back, you can run this query:

DELETE FROM wp_options where option_name like '%multi_currency%'

Test Show notices on currencies that are bound to an UPE method

Expected outcome

When deleting currencies on Multi-currency settings page, the currencies which are not bound to an UPE method shouldn't display any confirmation dialog and instantly get deleted, but the UPE bound ones like EUR for giropay and sofort should display a confirmation dialog, stating that the payment methods can't be used if you delete that currency before deletion.

image

Testing instructions

  • Go to Payment methods settings page, enable some of the payment methods which require an additional currency to operate (e.g Sofort, giropay requires EUR)
  • Go to Multi-currency settings page, try to remove EUR from the list, assert that the modal is shown, and unless you click the Remove button, the currency is not removed.
  • Assert that the texts are correct, it's showing the right symbol, right cards for the payment methods which will get obsolete, right title
  • Then, try to delete an independent currency, assert that the modal isn't shown and the currency is immediately deleted.

Test Add setting to disable Multi-currency feature

This setting enables the merchant to disable customer multi currency feature bundled with WooCommerce Payments plugin, to prevent conflicts with other multi currency plugins the merchant is already using. You can access this setting on WooCommerce > Settings > Payments at the bottom in the Advanced area.

The setting looks like:

image

Testing instructions

  • Open WooCommerce > Payments page
  • Scroll down to see the Advanced link, click it
  • On the revealed form, uncheck the Enable customer multi currency toggle
  • Save the changes
  • Refresh the page and check if the Multi-Currency tab is still visible. It should be removed.
  • On the same form, enable the checkbox back and save.
  • Refresh the page and expect the Multi-Currency tab is back in its place again.

Test that missing order_intent_info is being filled even if an exception occurs

Expected outcome

Checkout functionality should work as expected after changes that change the processing order: first write down the meta values, then change order statuses.

Testing instructions

  • Go to the shop as a shopper, add something to the cart, do a checkout, and complete the order.
  • Check that both _intent_id and _charge_id meta values are present in wp_postmeta table.
  • Go to admin as a merchant, find the order and try to refund it. The button should appear.
  • Do the refund, check that everything works properly.
  • Enable manual charge capture in the WCPay settings. Repeat steps 1-4.

Test preview pane on multicurrency store settings

Expected outcome

The Preview link displayed in the below image should open a modal, showing the Shop page defined in WooCommerce > Products page, with a automatic currency change notice on the bottom.

Testing instructions

  • Open WooCommerce > Settings > Multi-Currency
  • Add some currencies if the list is empty to get the store settings section displayed.
  • Make sure your store currency isn't USD at first.
  • Check if the preview link is visible in the help text of Auto currency switch checkbox
  • Click the link and see the notice showing USD as the automatic switched currency.
  • Change your store currency to USD,
  • Click the link and see the notice showing GBP as the automatic switched currency.
  • Change the shop page on the Products tab in WooCommerce settings
  • Check if the preview opens that page instead
  • Clear the shop page
  • Check if the preview opens the homepage

Test Shipping cost changes when switching shipping methods

Testing instructions

First of all you'll need at least two shipping methods for at least one shipping zone.

  • Go to WooCommerce > Settings > Shipping.
  • Click "Locations not covered by your other zones".
  • Click "Add shipping method" -> Select "Flat rate" in dropdown then click "Add shipping method".
  • Click "Add shipping method" -> Select "Free shipping" in dropdown then click "Add shipping method".
  • Mouse over "Flat rate" then click "Edit". set "Cost" to 20. Click "Save changes".
  • Create a simple product. Set price to 20.
  • Go to the product's page.
  • Click "Buy now" button
  • "Shipping" should cost $0 so far. Total should be $20.
  • Enter/chose a shipping address.
  • Notice "Shipping" costs $20 now. Total should be $40.
  • In Shipping Method, chose "Free shipping"
  • Shipping now should costs $0. Total should be $20.

Test translations in transactions/deposit exports

Testing instructions

In a site with existing WC Pay transactions

  • change site language to one German, Italian, Spanish, French from Settings -> General -> Site Language
  • Export transactions from Payments -> Transactions -> Download
  • Ensure that Type column is correctly translated and matches what's shown on the browser
  • Export deposits from Payments -> Deposists -> Download
  • See that Type and Status fields are translated and matches what's shown on the browser.

Test transaction search with translated terms

Testing instructions

  • On a site with existing transactions, change the language to English (Canada)
  • Go to Payments > Transactions and search for an order number.
  • Autocompleter should suggest an order with translated text for Order # from the first step.
  • Ensure that clicking on the order number returns the relevant transaction

Test Gutenberg block widget for Currency Switcher

Expected outcome

Users will have a configurable currency switcher on their widget areas, which they can style and hide/show features as they want. They can have multiple widgets with different settings.

Testing instructions

As a block widget:
  • Go to Appearance -> Widgets in WP Admin, add a new block to the sidebar by clicking the plus icon at the bottom of the existing sidebar widgets, and selecting Currency Switcher.
  • Click update on the top right corner of the page, then open a new tab on your site and verify that you can see the currency switcher in the sidebar.
  • Go back to Appearance -> Widgets and open the settings pane on the right. Play with toggling the various settings on/off and verify that the preview of the widget updates accordingly
  • After making some changes, click update, then go to a page on your site and verify the currency switcher style updated accordingly.
  • Test changing the currency via the new widget that was added, and do a few quick smoke tests to make sure currency is converted as expected on the store and when purchasing a product.
As a block via the editor:
  • Go to Pages -> Add New and add a test page to your site. Open the block editor for the new page. Add a new block to this page and select Currency Switcher.
  • Switch to Preview mode (or save the change then go to the page on your store) and verify that you can see the currency switcher on the page where you added it.
  • Repeat the tests above (changing the options and ensuring the changes get applied) to make sure all is working as expected when the widget is added as a block on a page.

Test manual capture using new cards

Expected outcome

When the store has manual capture enabled, users should be able to pay using a new credit card and that payment must be captured manually.

Testing instructions

  • In WooCommerce Payments settings, make sure manual charge capture is disabled.
  • Go to the store > Shop and add a product to the cart.
  • Go to checkout and pay using a new test card (e.g. 4242 4242 4242 4242).
  • In WooCommerce > Orders, you should see the order you just placed with status Processing, as usual.
  • In the WooCommerce Payments settings again, enable manual charge capture and save.
  • Place a new order following the steps 2 and 3.
  • In WooCommerce > Orders, you should see the order you just placed with status On hold and a similar order note:

A payment of $xx.xx was authorized using WooCommerce Payments (pi_...). Order status changed from Pending payment to On hold.

Test cloned site enters in safe mode using Jetpack

NOTE: this flow was not tested by GlobalStep as it was added after GlobalStep had finished their testing. Internal ref: p1633486361268900-slack-CGGCLBN58

Expected outcome

Original site continues to work as usual and cloned site enters in safe mode and user can chose how to proceed.

Testing instructions

We need to create two Jurassic Ninja sites in order to test this feature.

  • Create "original" site using Jurassic Ninja
    • Go to https://jurassic.ninja
    • Click "Want more options?"
    • Uncheck "Include Jetpack"
    • Check "Include WooCommerce"
    • Click "Launch single site"
    • Run the following command in your WordPress directory to enable dev mode in WCPay: wp config set WCPAY_DEV_MODE true
      • Log in into your server via SSH. Copy the SSH command from the Jurassic Ninja banner in your site. e.g. ssh [email protected]. - Enter your SSH password when asked.
      • Go to your WordPress directory cd apps/<your_ssh_user>/public/ then run the command there.
    • Install WooCommerce Payments plugin using the test release package.
    • Finish WCPay setup by clicking "Finish setup" button in the WCPay connect page.
    • Install and activate All-in-One WP Migration plugin.
    • Go to "All-in-One WP Migration" > Export.
    • Click "EXPORT TO" > FILE.
    • Download generated file.
  • Create a "cloned" site site using Jurassic Ninja.
    • Go to https://jurassic.ninja, Click "Create"
    • Install and activate All-in-One WP Migration plugin.
    • Go to "All-in-One WP Migration" > Import.
    • Click "IMPORT FROM" > FILE.
    • Select the generated file from the "original" site.
    • Click "PROCEED" in the warning dialog.
    • Click "FINISH".
    • Refresh page and you will be redirected to the login page. Use the credentials from the "original" site.
    • Install and/or Activate Jetpack.
    • You should see the "Jetpack Safe Mode" banner.
Clone this wiki locally