### Display Reminder Bar while completing the primary task list
1. Checkout branch on a fresh site (if your store is > 4 weeks old it will automatically hide the reminder bar)
2. Complete the onboarding wizard with standard options.
3. Complete a single step of the primary task list.
4. You should _not_ see the reminder bar on the Homescreen or any other page related to the tasks. You _should_ see it everywhere else.
5. Go to a non-task related page, such as _Orders_, and you should see the bar appear above the header. Ensure the copy starts with "You're doing great!"
6. Click the "Continue Setup" link, which should redirect you to the Homescreen.
7. Complete all but one task remaining.
8. Go back to the _Orders_ page to view the reminder bar. It should appear similar but have different copy, starting with "Almost there."
9. Click the "Finish setup" link to ensure that it returns you to the homescreen.
10. Hide the list by clicking the '...' menu, and then return to the _Orders_ page. The bar should now be hidden.
11. Re-enable task list by going to Orders -> Help -> Setup Wizard -> Task List -> Enable.
12. The reminder bar should now appear when viewing the _Orders_ page.
13. Complete the task list.
14. The reminder bar will no longer display on the _Orders_ page.
6. Run the action scheduler (make sure all are run), you can do this manually by going to **WooCommerce > Status > Scheduled Actions**. If your queue is large, just make sure that the `wc-admin_import_orders` actions are run.
### Hide store address fields in regions that specify hidden #8172
1. Go to the store setup wizard
2. Change to a country like Guatemala that hides the post code
3. Verify that the post code is hidden and "Continue" still works as expected
4. Switch to a different country with all fields shown and make sure things still work as expected
### Add localized validation to store address #8123
**Store details**
1. Navigate to the Store Details step of the profiler
2. Change the country/region to US.
3. Check that all fields are still required
4. Change your country to Australia
5. Make sure post code and city labels are updated (you can check this [list here](https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/includes/class-wc-countries.php#L795-L1528) for other country requirements by shortcode)
6. Change the country to Hong Kong
7. Check that zip/postal is no longer required
**Tasks**
1. Delete any shipping zones you might have
2. Clear your address in **WooCommerce > Settings** aside from the country/region.
3. Visit the Shipping task in the task list
4. It should prompt you to put in the store address.
5. This should follow the same store address validation as the Store Details step.
### Enhance report chart i18n support #8129
1. Go to **Analytics > Overview**
2. Observe chart texts show normally in English/site language.
3. Select different "stats" by click on the 3 dots on the right hand and enabling other stats, now repeat step 2 until all options are confirmed.
4. Go to **Settings > General**
5. Change the "Site Language" to another languages like "Português do Brasil"
6. Repeat 1 ~ 3 steps
### Add MailPoet to Installed marketing extensions #8091
1. Go to **Marketing > Overview**
2. MailPoet is not shown in **Installed marketing extensions**
3. Go to **Plugins** and install but don't activate **MailPoet 3**
4. Go to **Marketing > Overview**
5. See MailPoet in **Installed marketing extensions**
6. Click **Activate**
7. Click **Finish Setup**
8. Finish MailPoet setup (fill with dummy data)
9. Go to **Marketing > Overview**
10. See MailPoet links to Docs, Support, and Settings
### Add additional store profiler track for the business details tab. #8265
1. Open your console and make sure you have tracks outputted ( `localStorage.setItem( 'debug', 'wc-admin:*' );` )
2. Go to the Onboarding wizard and step through until the business details `/wp-admin/admin.php?page=wc-admin&path=%2Fsetup-wizard&step=business-details`
3. A `storeprofiler_step_view` should be triggered with `business-details` as the step.
4. Fill out the dropdowns and click continue
5. A `storeprofiler_step_complete` should of fired with a `step` prop of `business-details`. A new `storeprofiler_step_view` should of also fired with `business-features` as a step. Now select some free features and click continue.
6. A `storeprofiler_step_complete` should of fired with a `step` prop of `business-features`.
7. Check the general styling of the business features tab to make sure things look good still.
### Onboarding Workflow - Add number of employees field
1. Go to step 4 of the OBW (Business details).
2. Under `Currently selling elsewhere?` select any option other than "No".
3. A drop-down list with the following options should be visible:
```
It's just me
<10
10-50
50-250
+250
I'd rather not say
```
4. Select one of those options and fill out the rest of the options.
5. Open the browser devtools, go to the `Console` and enable the debug messages. You can do this by running `localStorage.setItem( 'debug', 'wc-admin:*' );` in the `Console` and looking for the verbose console messages.
6. Verify that the event `wcadmin_storeprofiler_store_business_details_continue_variant` is recorded with the prop `number_employees` after pressing `Continue`.
2. Go to step one of the store profiler and select `France` (or any country other than the US) as the store `Country / Region`.
3. Go to step three of the store profiler (`Product Types`).
4. Verify `Subscriptions` is shown as a paid extension (with a price chip).
5. Check `Subscriptions` and continue with the OBW.
6. Go back to the `Home` screen by pressing `Skip setup store details` in step one of the store profiler. Check that the task item `Add Subscriptions to my store` is visible in the setup task list.
7. Press `Add my products` in the setup task list.
8. Select `Start with a template`. Verify that the option `Subscription product` is not visible in the popup.
13. Check `Subscriptions` and press `Continue` and verify that the `WooCommerce Payments` plugin is installed and activated and it's not shown in the `Free features` list
14. Verify that the `WooCommerce Payments` plugin is being shown in the `Free features` list when the store country is other than the `US`.
15. Go back to the `Home` screen by pressing `Skip setup store details` in step one of the store profiler. Check that the task item `Add Subscriptions to my store` is not visible in the setup task list. It should be visible if the store is from any country other than the `US`.
- Start OBW and set up your browser console to monitor tracks. To do this, run `localStorage.setItem( 'debug', 'wc-admin:*' );`
- Observe "Get tips, product updates and inspiration straight to your mailbox" checkbox and "Email address" field in the Store Details step.
- Checking the checkbox should make the email field required, you should not be able to continue if it's not filled.
- Fill in the email address field with a valid email and click on continue.
- Observe in the track `wcadmin_storeprofiler_store_details_continue` with prop `email_signup` that appropriately flags if the user agreed to receive marketing emails.
- Continue until Business Features step.
- Observe the "I'm setting up a store for a client" checkbox in the step.
- Click on continue.
- Observe in the track `wcadmin_storeprofiler_store_business_details_continue_variant` with prop `setup_client` that appropriately flags if the user is setting up store for a client.
_Prerequisite_: This requires the forthcoming native [**Pinterest for WooCommerce** extension](https://github.com/saucal/pinterest-for-woocommerce) (private repo – may not be available).
1. Create a new store and install the [WP Mail Logging by MailPoet plugin](https://wordpress.org/plugins/wp-mail-logging/)
2. Go to Analytics -> Revenue and change the date range to last month
3. Click the download button and make sure you see the "Your revenue report will be emailed to you" notification
4. Go to Tools -> Scheduled Action and run the newly created `woocommerce_admin_report_export` action. After that is complete, run the `woocommerce_admin_email_report_download_link` action.
5. Go to Tools -> WP Mail Log and check the latest email. The URL linked to the "Download your Revenue report" should work as usual. The URL will be something like `filename=wc-revenue-report-export-16236128226138`
Individual payment gateway plugins dictate the settings and connection flow. For testing purposes, we'll test both the default behavior of the gateway and the enhanced configuration behavior.
5. Install some of the payment gateways from the links below. They don't need to be activated, but the folder names should match those on WordPress.org to avoid conflicts.
6. If setting fields are shown, make sure that validation works, input is saved, and is persisted on page refresh. Make sure the gateway is marked as enabled and not labeled "Requires setup" if all fields are completed.
7. If the "Connect" button is shown, follow the connection flow. Make sure that you are returned to the payments task and that the gateway is enabled and marked as configured.
8. Remove some settings manually under the payment gateway's legacy settings screen. Make sure the gateway is no longer marked as configured.
1. Set your store country to one of the following: `AU, NZ`
2. Don't select CBD as an industry during onboarding
3. Make sure the API key and password fields are shown
##### Square
1. Set your store country to the `US` and select CBD as an industy during onboarding OR set your store country to one of `US, CA, JP, GB, AU, IE`, don't select CBD as an industry and select that you have a physical store in the business details step.
### Add plugin installer to allow installation of plugins via URL #6805
1. Visit any admin page with the params `plugin_action` (`install`, `activate`, or `install-activate`) and `plugins` (list of comma separated plugins). `wp-admin/admin.php?page=wc-admin&plugin_action=install&plugins=jetpack`
2. If visiting this URL from a link, make sure you are sent back to the referer.
3. Check that the plugins provided are installed, activated, or both depending on your query.
### Add event recording to start of gateway connections #6801
- Enable debug messages inside browser devtools, you can do it by running `localStorage.setItem( 'debug', 'wc-admin:*' );` in your browser console. And don't forget to enable all log levels.
- Create a new store with event tracking enabled.
- Select `United States` or `UK` as the store country.
- Visit the Payments task and click to setup `Stripe` and `PayPal`.
- Verify the event `wcadmin_payments_task_stepper_view` with the right `payment_method was recorded correctly.
- Press `Proceed` and verify the event `wcadmin_tasklist_payment_connect_start` with the right `payment_method` was recorded.
- Verify that the event `wcadmin_tasklist_payment_connect_start` also is recorded for the payment gateways: Square, Eway (for AU and NZ) and generic gateways like PayFast (for ZA) and PayStack (for ZA, GH, and NG).
### Add recommended payment methods in payment settings. #6760
- Create a new store and finish the onboarding flow, making sure your store location is filled out and within US | PR | AU | CA | GB | IE | NZ
- Visit **Woocommerce > Settings > Payments** you might have to wait a couple seconds, but it should show a card with **Recommended ways to get paid** listing 3 different payment providers (WC Payments, Stripe, and Paypal).
- Click `Get started` on one of the providers, it will show a loading icon (installing the plugin), once done it should redirect you to the plugin set up page.
- Check if the plugin is installed and activated.
- Go back to the payment settings page
- Notice how the plugin you had previously installed and activated does not display anymore.
- Go to **WooCommerce > Settings > Advanced > WooCommerce.com** and un-select **Show Suggestions** and save
- Go to the payments setting screen again, the card should not be displayed.
- Enable the **Show Suggestions** again in **WooCommerce > Settings > Advanced > WooCommerce.com**
- Go to the payments setting screen again, the card should be displayed.
- Click on the 3 dots of the card, click `Hide this`, it should make the card disappear, it should also not show on refresh.
This can't be shown again unless the `woocommerce_show_marketplace_suggestions` option is deleted (through PHPMyAdmin or using `wp option delete woocommerce_show_marketplace_suggestions`).
4. Navigate to various analytics reports and note the time filter is based on the current store time. E.g., If your store timezone is 12 hours ahead of your current time, you may see `1st - 23rd` instead of `1st - 22nd` for "Month to date" depending on your time of day.
4. Choose 'Single product' from the 'Show' dropdown and search for the product.
5. Confirm that the "Variations" table shows the correct variations. If you searched for the 'Product A', then you should see color:black and color:white.
In case the report shows "no data", please reimport historical data by following the guide on [here](https://docs.woocommerce.com/document/woocommerce-analytics/#analytics-settings__import-historical-data)
- Now go to WooCommerce > Settings > Email (`/wp-admin/admin.php?page=wc-settings&tab=email`) and check the checkbox `Enable email insights` and save changes.
- Go to Tools > WP Mail Logging Log (`/wp-admin/tools.php?page=wpml_plugin_log`) and verify the testing email note was sent.
- View the message and press `Test action` (a broken image will be visible under the button, but that's expected and only visible in a test environment).
### Set default value to array when op is `contains` #6622
1. Clone and start https://github.com/Automattic/woocommerce.com
2. Open `notifications.json.php` from woocommerce.com repository and find a rule that uses the `contains` operator and remove the `default` key. Please make a note of the option name.
3. Open `src/RemoteInboxNotifications/DataSourcepoller.php` from your WooCommerce Admin repository and change the datasource to your local woocommerce.com (woocommerce.test)
4. Make sure your local WooCommerce Admin database does not have the option from step #2
1. Open your browser console and enter `localStorage.setItem( 'debug', 'wc-admin:tracks' );`. Make sure the "Verbose" is selected under the levels shown.
2. Navigate to WooCommerce -> Settings -> Advanced -> features (/wp-admin/admin.php?page=wc-settings&tab=advanced§ion=features) and enable Navigation
3. Open browser inspector and select the Network tab.
4. Navigate to WooCommerce -> Home
5. Confirm that the request to `/wp-json/wc-admin/options?options=woocommerce_navigation_intro_modal_dismissed&_locale=user` returns 200 status.
1. Get an IE 11 test environment. I downloaded a trial version of Parallels Desktop on [here](https://www.parallels.com/) and IE 11 virtual machine from [developer.microsoft.com](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/)
2. Make a zip version of this branch by running `npm run test:zip`
3. Make a JN site -> install and activate the zip file.
4. Open IE 11 and start OBW
5. Confirm that the themes are displayed correctly.
- Verify that the Creative Mail option copy is `Emails made easy with Creative Mail`.
### Store profiler - Added MailPoet to Business Details step #6503
- Create a brand new site and go to the OBW.
- In the first OBW step (`Store Details`) set a Country / Region other than `US | BR | FR | ID | GB | DE | VN | CA | PL | MY | AU | NG | GR | BE | PT | DK | SE | JP` (e.g.: Uruguay).
- Continue with the profiler.
- In the 4th step (`Business Details`) choose any of the options in both selectors.
- The note is removed on a new version install, so either install an old version of WCA and upgrade to the current one, or trigger the install process manually:
- Clear existing site transients. For example, by using the [Transients Manager](https://wordpress.org/plugins/transients-manager/) plugin, and pressing the "Delete all transients" button it provides.
- Add any new theme to WordPress but **DO NOT** activate it.
- Initialize the Onboarding Wizard.
- See that the Themes step loads fast 😎
- See that the new theme is listed in the Themes step.
### Set up tasks can now navigate back to the home screen #6397
1. With a fresh install of wc-admin and woocommerce, go to the home screen
2. Going to the homescreen redirects to the profile setup wizard, click "Skip setup store details" to return to the home screen
3. On the home screen you will see the setup task list. It has the heading "Get ready to start selling"
For each task in that list apart from "Store details":
1. Click the item
2. You should land on the setup task page
3. A title in the top left should reflect the original task name from the task list. e.g. "Add tax rates"
4. Clicking the chevron to the left of the title should take you back to the home screen
- Delete the option `woocommerce_ces_shown_for_actions` to make sure CES prompt triggers when updating settings.
- Enable the logging of Tracks events to your browser dev console `localStorage.setItem( 'debug', 'wc-admin:tracks' );`
- If you don't have a product CSV export, you can obtain a sample CSV [here](https://gist.githubusercontent.com/ilyasfoo/507f9579531cf4bf50fe4c0e9c48a23d/raw/05e47e6731471464c757e893c3f2d8a9b89453c0/product-export.csv).
- Go to Products > All Products.
- Click on "Import".
- Upload CSV file and finish the import process.
- Observe CES prompt "How easy was it to import products?" is displayed.
### Fix a bug where the JetPack connection flow would not activate #6521
1. With a fresh install of wc-admin and woocommerce, go to the home screen
2. Going to the homescreen redirects to the profile setup wizard
3. The first step is "Store details" choose United States (any state) for country and fill in the other details with test data.
4. Click "continue", you should be taken to the "Industry" step.
5. In the "Industry" step check the "Food and Drink" option only. Click "continue"
6. In the "Product Type" step choose any value and click "continue"
7. You should arrive at the "Business details" step which provides 2 tabs: "Business details" and "Free features". In the "Business Details" tab fill out the dropdowns with any values. Click "continue".
8. In the "Free features" step expand the list of extensions to install by clicking the arrow to the right of "Add recommended business features to my site".
9. Uncheck all the extensions except for "Enhance speed and security with Jetpack"
10. Click "continue", the plugin will be installed and you should arrive at the theme step.
11. Click "Continue with my active theme"
12. After finishing the wizard, this should redirect you to the "Jetpack" setup connection flow. (You should not be redirected straight to the homescreen).
### Update target audience of business feature step #6508
Scenario #1
1. With a fresh install of wc-admin and woocommerce, go to the home screen, which starts the onboarding wizard
2. Fill out the store details with a canadian address (addr: 4428 Blanshard, country/region: Canada -- British Columbia, city: Victoria, postcode: V8W 2H9)
3. Click continue and select **Fashion, apparel, and accessories**, continue, and select **Physical products**, and continue.
4. The business details tab should show a **Business details** tab, and a **Free features** tab (disabled at first)
8. Click continue, and select your theme, after it should redirect to the home screen (showing the welcome modal, you can step through this).
9. The home screen task list should include a **Set up WooCommerce Payments** task, and there should also be a **Set up additional payment providers** inbox card displayed (below the task list).
10. Go to **Plugins > installed Plugins**, check if the selected plugin features selected in step 7 are installed and activated.
Scenario #2
1. With a fresh install of wc-admin and woocommerce, go to the home screen, which starts the onboarding wizard
2. Fill out the store details with a spanish address (addr: C/ Benito Guinea 52, country/region: Spain -- Barcelona, city: Canet de Mar, postcode: 08360)
3. Click continue and select **Fashion, apparel, and accessories**, continue, and select **Physical products**, and continue.
4. On the business details tab select **1-10** for the first dropdown, and **No** for the second.
- Install and activate [WC Admin Test Helper](https://github.com/woocommerce/woocommerce-admin-test-helper/wiki/Admin-notifications).
- Make sure the `woocommerce_merchant_email_notifications` option is set to `yes` by [using the update option tool](https://github.com/woocommerce/woocommerce-admin-test-helper/wiki/Update-option).
### Add Guards to "Deactivate Plugin" Note Handlers #6532
#### Test incompatible WooCommerce version
- Install and activate Woocommerce 4.7
- See that the Woocommerce Admin plugin is deactivated.
- Add the Deactivate Plugin note via SQL.
```
INSERT INTO `wp_wc_admin_notes` (`name`, `type`, `locale`, `title`, `content`, `content_data`, `status`, `source`, `date_created`, `date_reminder`, `is_snoozable`, `layout`, `image`, `is_deleted`, `icon`) VALUES ( 'wc-admin-deactivate-plugin', 'info', 'en_US', 'Deactivate old WooCommerce Admin version', 'Your current version of WooCommerce Admin is outdated and a newer version is included with WooCommerce. We recommend deactivating the plugin and using the stable version included with WooCommerce.', '{}', 'unactioned', 'woocommerce-admin', '2021-03-08 01:26:44', NULL, 0, 'plain', '', 0, 'info');
```
- See that the note is in the inbox
- Activate the Woocommerce Admin plugin.
- See that Woocommerce Admin immediately de-activates without a fatal error.
- See that the note remains in inbox
#### Test compatible WooCommerce version
- Deactivate the Woocommerce Admin plugin.
- Install and activate the latest Woocommerce version.
- Add the Deactivate Plugin note via SQL.
```
INSERT INTO `wp_wc_admin_notes` (`name`, `type`, `locale`, `title`, `content`, `content_data`, `status`, `source`, `date_created`, `date_reminder`, `is_snoozable`, `layout`, `image`, `is_deleted`, `icon`) VALUES ( 'wc-admin-deactivate-plugin', 'info', 'en_US', 'Deactivate old WooCommerce Admin version', 'Your current version of WooCommerce Admin is outdated and a newer version is included with WooCommerce. We recommend deactivating the plugin and using the stable version included with WooCommerce.', '{}', 'unactioned', 'woocommerce-admin', '2021-03-08 01:26:44', NULL, 0, 'plain', '', 0, 'info');
```
- Activate the Woocommerce Admin plugin.
- See that note is **not** in the inbox
- Add the Deactivate Plugin note via SQL.
```
INSERT INTO `wp_wc_admin_notes` (`name`, `type`, `locale`, `title`, `content`, `content_data`, `status`, `source`, `date_created`, `date_reminder`, `is_snoozable`, `layout`, `image`, `is_deleted`, `icon`) VALUES ( 'wc-admin-deactivate-plugin', 'info', 'en_US', 'Deactivate old WooCommerce Admin version', 'Your current version of WooCommerce Admin is outdated and a newer version is included with WooCommerce. We recommend deactivating the plugin and using the stable version included with WooCommerce.', '{}', 'unactioned', 'woocommerce-admin', '2021-03-08 01:26:44', NULL, 0, 'plain', '', 0, 'info');
- Confirm that `woocommerce_merchant_email_notifications` was not set before by `core`.
- Install and activate [WC Admin Test Helper](https://github.com/woocommerce/woocommerce-admin-test-helper/wiki/Admin-notifications).
- Delete `woocommerce_merchant_email_notifications` if present [using the update option tool](https://github.com/woocommerce/woocommerce-admin-test-helper/wiki/Update-option).
1. Create various non-admin users with custom capabilities. Make sure to not include the `view_woocommerce_reports` for at least one role. https://wordpress.org/plugins/leira-roles/
4. Check that there aren't items shown to the user they should not be able to use or interact with.
5. Enable the new navigation under WooCommerce -> Settings -> Advanced -> Features.
6. Check that the users are able to see the new navigation menu.
7. Click on various tabs in the activity panel.
8. Make sure the tabs work as expected.
9. Make sure that users without the `manage_woocommerce` permission are not able to see the "Store Setup" tab.
10. With a user that can `manage_woocommerce`, navigate to the homepage via URL and make sure the homescreen is shown. `/wp-admin/admin.php?page=wc-admin`
11. With a user that cannot `view_woocommerce_reports` make sure navigating to an analytics report does not work. `/wp-admin/admin.php?page=wc-admin&path=/analytics/overview`
- You'll need a site that has the setup task list visible. Complete the OBW and make sure you're in a Mollie supported country (Such as United Kingdom).
- Go to the setup payments task
- Mollie should be listed as an option
- Click "Set up" button on the Mollie task
- It should install and activate the mollie payments plugin
- The connect step should provide links to create an account or go straight to Mollie settings. (test both links work)
- Click "continue"
- You should arrive back at the payment provider list
- Confirm the new note is displayed and that the content matches that specified below:
- Title: Getting Started in eCommerce - webinar
- Copy: We want to make eCommerce and this process of getting started as easy as possible for you. Watch this webinar to get tips on how to have our store up and running in a breeze.
- Starting with a fresh store (or by deleting the woocommerce_task_list_welcome_modal_dismissed option), visit /wp-admin/admin.php?page=wc-admin. You should see the standard welcome modal.
- Add &from-calypso to the URL. You should see the Calypso welcome modal.
- Notice "Learn more" links to https://wordpress.com/support/new-woocommerce-experience-on-wordpress-dot-com/
- Click the `Start with a template` option, and select either a physical, digital, variable product
- Once you click `Go`, it should redirect you to an edit page of the new post, with the data from the sample-data.csv (mentioned in the original ticket). Only the title is missing, as it is saved as auto-draft.
- You should be able to save the new product as draft or publish it.
- You should be able to exit without making any changes, and not having the product show up as draft in your product list.
- Create new product from template
- Wait until redirected
- Without saving go to the **Products > all products** page, the new product should not be displayed.
- Create new woo store, and finish the onboarding wizard
- Go to the home screen, and click the **Set up payments** task. **Paypal Payments** option should be listed as an option, with a **Set up** button.
- Click **Set up** on the Paypal plugin.
- It should automatically start the **Install** step, and install and enable the [Paypal Payments](https://woocommerce.com/products/woocommerce-paypal-payments/) plugin.
- For Paypal Payments version greater then `1.1.0`.
- For the second step it should show a `Connect` button
- Click on **Connect** and a window should popup for Paypal, follow this until finished. The last button is - Go back to Woocommerce Developers
- Once done, the page should reload, and briefly show the setup screen again, it should then finish and go back to the payment list.
- Once on the payment list, the `Set up` button should be gone, and instead show a toggle, that is set to enabled.
- The enable/disable button should be correctly reflected in the Woocommerce payment settings screen as well.
- For Paypal Payments version `1.1.0` and below
- For the second step it will show the manual fields (merchant email, merchant id, client id, client secret).
- Check if the help links work below, they should help with finding the above credentials.
- If you have a business account set up, you can find the credentials in these two places
- [Get live app credentials](https://developer.paypal.com/developer/applications/)