Skip to content

Release testing instructions for WC Payments 3.1.0

Alfredo Sumaran edited this page Sep 29, 2021 · 27 revisions

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.

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.
Clone this wiki locally