woocommerce/plugins/woocommerce-blocks/docs/internal-developers/testing/releases/390.md

135 lines
8.1 KiB
Markdown
Raw Normal View History

# Testing notes and ZIP for release 3.9.0
Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-gutenberg-products-block/files/5597018/woocommerce-gutenberg-products-block.zip)
## Feature plugin and package inclusion in WooCommerce core
This release only has changes for Cart and Checkout blocks so there is nothing specific to test for other blocks.
## Feature plugin only
### Fix stuck "Proceed to Checkout" button in Safari
Test in Safari to ensure issue is resolved, then test in another browser to ensure nothing else was broken with button behaviour.
1. Add an item to the cart.
2. Visit a page with the Cart Block in it.
3. Press the "Proceed to checkout" link.
4. A spinner should appear on the link.
5. When on the checkout page, use the browser's back button to get back to the page with the cart block.
6. When back on the cart block page, ensure the "Proceed to checkout" link does not contain a spinner.
### Fix express payment methods processing not completed when Stripe payment method active
Setup:
- Make sure your testing environment has Stripe setup for both CC and Express payment methods.
Testing:
- [ ] When checkout is loaded, make sure the Stripe CC payment method is the active payment method tab.
- [ ] Click express payment method button (Chrome Pay or Apple Pay) to initiate payment flow.
- [ ] Submit the express payment and ensure the checkout order is processed (resulting in a successful redirect to the Order complete page)
- [ ] Try setting up the scenario, and then instead of completing the express payment, try canceling the express payment and completing payment with CC.
- [ ] Try cancelling the express payment method and then triggering it again (after setting up the scenario again).
- [ ] Try all scenarios with a logged out and logged in user.
### Refresh Express Payment methods after cancelling payment to prevent addresses remaining populated on repeat attempts
- [ ] Go to the cart page with items in your cart.
- [ ] Click on Pay Now (stripe Chrome pay). The PaymentRequest window is opened.
- [ ] In the PaymentRequest window, select a delivery address.
- [ ] Cancel the payment.
- [ ] Click the Pay Now button again.
- [ ] The delivery address area should not have an address selected. This is the fix.
### Ensure "Add a note to your order" section is styled correctly when disabled
- [ ] Add a product to your cart and go to a page with the checkout block
- [ ] Fill in the required form fields. Leave the "Add a note to your order" unticked.
- [ ] Submit the form
- [ ] Ensure the "Add a note to your order" section looks disabled
- [ ] Restart the checkout process and fill in all required form fields.
- [ ] Tick the box next to "Add a note to your order" and (optionally) fill in the textarea with something
- [ ] Submit the form again and ensure the entire "Add a note to your order" section is disabled (while the order is processing), including the textarea.
### Prevent checkout step heading text overlapping actual heading on small viewports
- [ ] Ensure the Allow customers to log into an existing account during checkout option is enabled in **WooCommerce -> Settings -> Accounts & Privacy**.
- [ ] Log out of the site and add a product to your cart.
- [ ] Go to a page with the checkout block on and reduce the viewport so far that the "Already have an account? Log in" text is about to overlap.
- [ ] Ensure the text drops to below the header and does not overlap with the section heading.
### Hide Stripe Express payment if transaction in cart is lower than 0.30
- [ ] Enable Stripe + Chrome Pay
- [ ] Add an item to the cart costing 0.10
- [ ] No express payment method is visible
- [ ] Increase quantity in cart to 3. Express payment method should then be shown.
- [ ] Reduce the quantity again. The payment method will disappear.
- [ ] Go to checkout with total in cart less than 0.30 and ensure Stripe express payment method does not show.
### Stop hidden products from being linked in cart and checkout blocks
- [ ] Create a page that contains the checkout and cart blocks.
- [ ] Find a product in the dashboard and set its catalogue visibility to hidden.
- [ ] Add that product to your cart (Note you will have to visit the url for the product directly in order to add it).
- [ ] Visit the page with the checkout and cart blocks and ensure the name of the hidden product does not link to the product page in the checkout sidebar and in the line items in the cart.
- [ ] Repeat steps 2-4 with the catalogue visibility set to "Search results only".
### Fix orders not being placed when paying with an Express payment method from the Cart block
In a device compatible with express payment methods and a site with Stripe payment gateway enabled:
- [ ] Verify Apple Pay or Google Pay buttons appear in the Cart block and clicking on them triggers the payment process.
- [ ] Proceed with the payment and verify you are redirected to the success screen and the order appears in the admin (WooCommerce > Orders).
- [ ] Verify express payment methods from the Checkout block are not broken.
- [ ] Verify regular payment methods are not broken either.
### Cart and checkout should respect the global "Hide shipping costs until an address is entered" setting
- [ ] Before running this PR, in **Settings > Shipping > Shipping Options**, turn on the option to require an address
- [ ] Setup a single shipping rate
- [ ] The messaging in cart and checkout states that shipping will be shown after providing an address.
- [ ] After entering your address, rates are then displayed and the total cost is not 0
- [ ] The "Hide shipping costs until an address is entered" block level option is no longer displayed when editing the block.
### Exclude checkout-draft orders from WC Admin reports and My Account > Orders
- [ ] Make sure your store has at least one completed order and one draft order. You can achieve that adding some products to the cart and navigating to the Cart and Checkout blocks but without completing the order.
- [ ] Go to Analytics > Settings and verify there isn't a Custom statuses section or, if it exists, make sure none of the statuses is named Draft.
- [ ] Go to the bottom of the page and click on Delete Previously Imported Data.
- [ ] Wait until the process finishes and then import all data again.
- [ ] Go to Analytics > Orders.
- [ ] Verify the 'draft' order is not counted in the totals.
- [ ] In the frontend, go to My Account > Orders with the user that made the draft order.
- [ ] Verify the draft order is not listed there.
### Sync shipping address with billing address when shipping address fields are disabled
#### Case 1
- [ ] Create 2 tax rates; one for UK and one for US
- [ ] Delete all shipping methods and rates so shipping is disabled and no fields are shown during checkout
- [ ] Go to checkout. Enter a UK address. See the tax rate.
- [ ] Change country field. See the tax rates update after the API request completes.
- [ ] Place order. Check the order has the same shipping and billing address saved.
#### Case 2
- [ ] In general settings, in the option for where you ship to, select 'disable shipping calculations'
- [ ] Go to checkout. Enter a UK address. See the tax rate.
- [ ] Change country field. See the tax rates update after the API request completes.
- [ ] Place order. Check the order has the same shipping and billing address saved.
#### Case 3
- [ ] In tax settings, choose to base taxes on the billing address.
- [ ] Go to checkout. Enter a different billing and shipping address.
- [ ] Toggle the "ship to billing" checkbox and see if the rate changes after doing so reliably.
- [ ] In all cases you should see a network request to update-customer a short while after entering any billing or shipping data, or toggling the 'use shipping address' checkbox on checkout.
### Move feature flag PHP logic to a service class
- [ ] Verify Product Element blocks (i.e. `Product Price`) are not available in the feature plugin from the block picker (it is expected that some product element blocks are available when editing the template view for the All Products block).