Skip to main content

WooCommerce core critical flows

We have identified what we consider to be our most critical user flows within WooCommerce Core. These flows will help us focus and prioritize our testing efforts. They will also help us consider the impact of changes and priority of issues.

These flows will continually evolve as the platform evolves with flows updated, added or re-prioritised.

Shopper critical flow areas

Merchant critical flow areas

Shopper - Shop

User TypeFlow AreaFlow NameTest File
ShopperShopSearch Storeshopper/shop-search-browse-sort.spec.js
ShopperShopBrowse by categoriesshopper/shop-search-browse-sort.spec.js
ShopperShopCan sort itemsshopper/shop-search-browse-sort.spec.js
ShopperShopAdd Simple Product to Cart (from shop page)shopper/cart.spec.js
ShopperShopDisplay shop catalogshopper/shop-search-browse-sort.spec.js
ShopperShopProducts by tagshopper/product-tags-attributes.spec.js
ShopperShopProducts by attributeshopper/product-tags-attributes.spec.js
ShopperShopUse product filtersshopper/shop-products-filer-by-price.spec.js

Shopper - Product

User TypeFlow AreaFlow NameTest File
ShopperProductAdd Simple Product to Cartshopper/product-simple.spec.js
ShopperProductAdd Grouped Product to Cartshopper/product-grouped.spec.js
ShopperProductVariable Product info updates depending on variationshopper/product-variable.spec.js
ShopperProductAdd Variable Product to Cartshopper/product-variable.spec.js
ShopperProductDisplay up-sell productproducts/product-linked-products.spec.js
ShopperProductDisplay related productsproducts/product-linked-products.spec.js
ShopperProductDisplay reviewsmerchant/product-reviews.spec.js
ShopperProductAdd reviewmerchant/product-reviews.spec.js
ShopperProductView product imagesshopper/product-simple.spec.js
ShopperProductView product descriptionsshopper/product-simple.spec.js

Shopper - Cart

User TypeFlow AreaFlow NameTest File
ShopperCartAdd to cart redirects to cart when enabledshopper/cart-redirection.spec.js
ShopperCartView cartshopper/cart.spec.js
ShopperCartUpdate product quantity within limitsshopper/cart.spec.js
ShopperCartRemove products from cartshopper/cart.spec.js
ShopperCartApply all coupon typesshopper/cart-coupons.spec.js
ShopperCartDisplay shipping options by addressshopper/calculate-shipping.spec.js
ShopperCartView empty cartshopper/cart.spec.js
ShopperCartDisplay correct taxshopper/cart-checkout-calculate-tax.spec.js
ShopperCartRespect coupon usage constraintsshopper/cart-checkout-coupons.spec.js
ShopperCartDisplay cross-sell productsproducts/product-linked-products.spec.js
ShopperCartProceed to checkoutshopper/checkout.spec.js

Shopper - Checkout

User TypeFlow AreaFlow NameTest File
ShopperCheckoutCorrect item in Order Reviewshopper/checkout.spec.js
ShopperCheckoutCan add shipping addressshopper/checkout.spec.js
ShopperCheckoutGuest can place ordershopper/checkout.spec.js
ShopperCheckoutCreate an accountshopper/checkout-create-account.spec.js
ShopperCheckoutLogin to existing accountshopper/checkout-login.spec.js
ShopperCheckoutExisting customer can place ordershopper/checkout.spec.js
ShopperCheckoutUse all coupon typesshopper/checkout-coupons.spec.js
ShopperCheckoutView checkoutshopper/checkout.spec.js
ShopperCheckoutReceive warnings when form is incompleteshopper/checkout.spec.js
ShopperCheckoutAdd billing addressshopper/checkout.spec.js
ShopperCheckoutRespect coupon usage constraintsshopper/cart-checkout-coupons.spec.js
ShopperCheckoutDisplay correct tax in checkoutshopper/cart-checkout-calculate-tax.spec.js
ShopperCheckoutView order confirmation pageshopper/checkout.spec.js

Shopper - Email

User TypeFlow AreaFlow NameTest File
ShopperEmailCustomer Account Emails Receivedshopper/account-email-receiving.spec.js
ShopperEmailCustomer Order Detail Emails Receivedshopper/order-email-receiving.spec.js

Shopper - My Account

User TypeFlow AreaFlow NameTest File
ShopperMy AccountCreate an accountshopper/my-account-create-account.spec.js
ShopperMy AccountLogin to existing accountshopper/my-account.spec.js
ShopperMy AccountView Account Detailsshopper/my-account.spec.js
ShopperMy AccountUpdate Addressesshopper/my-account-addresses.spec.js
ShopperMy AccountView Ordersshopper/my-account-pay-order.spec.js
ShopperMy AccountPay for Ordershopper/my-account-pay-order.spec.js
ShopperMy AccountView Downloadsshopper/my-account-downloads.spec.js

Merchant - Onboarding

User TypeFlow AreaFlow NameTest File
MerchantCore ProfilerIntroduction & opt-inactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerUser profile informationactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerBusiness informationactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerExtensions pageactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerWooPayments included in extensions for eligible criteriaactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerWooPayments not included in extensions for ineligible criteriaactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerInstall all default extensionsactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerComplete site setupactivate-and-setup/core-profiler.spec.js
MerchantCore ProfilerSkip introduction and confirm business locationactivate-and-setup/core-profiler.spec.js

Merchant - Dashboard

User TypeFlow AreaFlow NameTest File
MerchantWC HomeCompleting profiler redirects to home
MerchantWC HomeComplete all steps on task list
MerchantWC HomeHide the task list
MerchantWC HomeStore management displayed after task list finished
MerchantWC HomeDirect access to analytics reports from stats overview
MerchantWC HomePreserve task list completion status after upgrade
MerchantWC HomeInteract with extended task list
MerchantActivity PanelInteract with activity button
MerchantInboxInteract with notes and perform CTAs
MerchantInboxDismiss single note and all notes

Merchant - Settings

User TypeFlow AreaFlow NameTest File
MerchantSettingsUpdate General Settingsmerchant/settings-general.spec.js
MerchantSettingsAdd Tax Ratesmerchant/settings-tax.spec.js
MerchantSettingsAdd Shipping Zonesmerchant/create-shipping-zones.spec.js
MerchantSettingsAdd Shipping Classesmerchant/create-shipping-classes.spec.js
MerchantSettingsEnable local pickup for checkout blockmerchant/settings-shipping.spec.js
MerchantSettingsUpdate payment settingsadmin-tasks/payment.spec.js
MerchantSettingsHandle Product Brandsmerchant/create-product-brand.spec.js

Merchant - Coupons

User TypeFlow AreaFlow NameTest File
MerchantCouponsAdd all coupon typesmerchant/create-coupon.spec.js
MerchantCouponsAdd restricted couponmerchant/create-restricted-coupons.spec.js

Merchant - Marketing

User TypeFlow AreaFlow NameTest File
MerchantMarketingDisplay marketing overviewadmin-marketing/overview.spec.js

Merchant - Analytics

User TypeFlow AreaFlow NameTest File
MerchantAnalyticsView revenue reportadmin-analytics/analytics.spec.js
MerchantAnalyticsView overview reportadmin-analytics/analytics-overview.spec.js
MerchantAnalyticsConfirm correct summary numbers on overview reportadmin-analytics/analytics-data.spec.js
MerchantAnalyticsUse date filter on overview pageadmin-analytics/analytics-data.spec.js
MerchantAnalyticsCustomize performance indicators on overview pageadmin-analytics/analytics-overview.spec.js
MerchantAnalyticsUse date filter on revenue reportadmin-analytics/analytics-data.spec.js
MerchantAnalyticsDownload revenue report as CSVadmin-analytics/analytics-data.spec.js
MerchantAnalyticsUse advanced filters on orders reportadmin-analytics/analytics-data.spec.js
MerchantAnalyticsAnalytics settingsadmin-analytics/analytics-data.spec.js
MerchantAnalyticsSet custom date range on revenue reportadmin-analytics/analytics-data.spec.js

Merchant - Products

User TypeFlow AreaFlow NameTest File
MerchantProductsView all productsmerchant/product-search.spec.js
MerchantProductsSearch productsmerchant/product-search.spec.js
MerchantProductsAdd simple productmerchant/product-create-simple.spec.js
MerchantProductsAdd variable productmerchant/products/add-variable-product/create-variable-product.spec.js
MerchantProductsEdit product detailsmerchant/product-edit.spec.js
MerchantProductsAdd virtual productmerchant/product-create-simple.spec.js
MerchantProductsImport products CSVmerchant/product-import-csv.spec.js
MerchantProductsAdd downloadable productmerchant/product-create-simple.spec.js
MerchantProductsView product reviews listmerchant/product-reviews.spec.js
MerchantProductsView all products reviews listmerchant/product-reviews.spec.js
MerchantProductsEdit product reviewmerchant/product-reviews.spec.js
MerchantProductsTrash product reviewmerchant/product-reviews.spec.js
MerchantProductsBulk edit productsmerchant/product-edit.spec.js
MerchantProductsRemove productsmerchant/product-delete.spec.js
MerchantProductsManage product imagesmerchant/product-images.spec.js
MerchantProductsManage product inventorymerchant/product-create-simple.spec.js
MerchantProductsManage product attributesmerchant/product-create-simple.spec.js
MerchantProductsManage global attributes
MerchantProductsAdd up-sellproducts/product-linked-products.spec.js
MerchantProductsAdd cross-sellproducts/product-linked-products.spec.js
MerchantProducts (New)Disable new product experiencemerchant/products/block-editor/disable-block-product-editor.spec.js
MerchantProducts (New)Add simple productmerchant/products/block-editor/create-simple-product-block-editor.spec.js
MerchantProducts (New)Edit simple productmerchant/products/block-editor/product-edit-block-editor.spec.js
MerchantProducts (New)Manage product imagesmerchant/products/block-editor/product-images-block-editor.spec.js
MerchantProducts (New)Manage product inventorymerchant/products/block-editor/product-inventory-block-editor.spec.js
MerchantProducts (New)Manage product attributesmerchant/products/block-editor/product-attributes-block-editor.spec.js

Merchant - Orders

User TypeFlow AreaFlow NameTest File
MerchantOrdersView all ordersmerchant/order-status-filter.spec.js
MerchantOrdersCan add new order basicmerchant/order-edit.spec.js
MerchantOrdersView single ordermerchant/order-edit.spec.js
MerchantOrdersUpdate order status to completedmerchant/order-edit.spec.js
MerchantOrdersUpdate order status to cancelledmerchant/order-edit.spec.js
MerchantOrdersUpdate order detailsmerchant/order-edit.spec.js
MerchantOrdersCustomer payment pagemerchant/customer-payment-page.spec.js
MerchantOrdersRefund ordermerchant/order-refund.spec.js
MerchantOrdersApply couponmerchant/order-coupon.spec.js
MerchantOrdersCan add new order complex - multiple product types & tax classesmerchant/create-order.spec.js
MerchantOrdersSearch ordersmerchant/order-search.spec.js
MerchantOrdersFilter orders by order statusmerchant/order-status-filter.spec.js
MerchantOrdersBulk change order statusmerchant/order-bulk-edit.spec.js
MerchantOrdersAdd order notesmerchant/order-edit.spec.js

Merchant - Customers

User TypeFlow AreaFlow NameTest File
MerchantCustomersDisplay customer listmerchant/customer-list.spec.js

Merchant - Email

User TypeFlow AreaFlow NameTest File
MerchantEmailReceive and check content of new order emailmerchant/order-emails.spec.js
MerchantEmailReceive and check content of cancelled order emailmerchant/order-emails.spec.js
MerchantEmailReceive and check content of failed order emailmerchant/order-emails.spec.js
MerchantEmailResent new order emailmerchant/order-emails.spec.js
MerchantEmailSend invoice/order details to customer via Emailmerchant/order-emails.spec.js

Merchant - Plugins

User TypeFlow AreaFlow NameTest File
MerchantPluginsCan update WooCommercesmoke-tests/update-woocommerce.spec.js

Merchant - My Subscriptions

User TypeFlow AreaFlow NameTest File
MerchantMy SubscriptionsCan initiate WooCommerce.com Connectionmerchant/settings-woo-com.spec.js

Merchant - Pages

User TypeFlow AreaFlow NameTest File
MerchantPagesCan create a new pagemerchant/create-page.spec.js

Merchant - Posts

User TypeFlow AreaFlow NameTest File
MerchantPostsCan create a new postmerchant/create-post.spec.js