Commit Graph

40 Commits

Author SHA1 Message Date
louwie17 4bff4d1302 Fix php notice when selecting paid theme (https://github.com/woocommerce/woocommerce-admin/pull/8493)
* Add initial E2E tests for purchase task

* Update paid theme logic to remove PHP warning and keep the correct price

* Fix php unit tests

* Address some PR feedback

* Add changelog

* Include the purchase task e2e test

* Disable test

* Delete purchase E2E test file
2022-03-18 16:05:38 -03:00
Joshua T Flowers 611903ef5d Separate onboarding concerns into separate classes (https://github.com/woocommerce/woocommerce-admin/pull/8280)
* Separate onboarding concerns into separate classes

* Fix up onboarding product types

* Fix up references to profile data option

* Fix up call to allowed themes

* Move onboarding features to internal namespace

* Remove old onboarding redirect

* Fix failing tests

* Add changelog entry

* Move inernal classes to the new src-internal folder

* Fix lint error

* Add deprecated class for Onboarding

* Add empty construct method

* Remove some of the unnecessary static functions and make sure OnboardingTasks still gets initialized

* Fix missed changes during rebase

* Fix tests

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2022-03-17 17:10:43 -03:00
louwie17 f37af20b5f New task list version 1 (https://github.com/woocommerce/woocommerce-admin/pull/8457)
* Allow for easy task component switch

* Add past tense feature addition with cross out

* Add visible option for task lists and make use of new feature config

* Fix lint errors

* Fix lint errors

* Fix css lint

* Fix js unit tests

* Address PR feedback

* Add js tests for task list changes

* Add php tests for updated logic

* Add changelog

* Update copy

* Make snooze test a little more robust
2022-03-15 14:40:22 -03:00
louwie17 8d4471fce4 Fix paid themes (https://github.com/woocommerce/woocommerce-admin/pull/8412)
* Add support for paid themes

* Fix lint errors

* Add changelog

* Refactor get_products logic and add unit tests

* Add comment
2022-03-14 17:31:03 -03:00
Joshua T Flowers 834307e155 Merge payment gateway suggestion classes into single source of truth (https://github.com/woocommerce/woocommerce-admin/pull/8252)
* Rename route to payment gateway suggestions

* Create separate payment gateway suggestions controller

* Move payment gateway logic into feature class

* Merge payment gateway information into single source of truth

* Filter out WCPay client-side

* Fix up frontend

* Redirect to payment settings page on install

* Add test around showing installed gateways

* Remove check for marketplace suggestions at the endpoint level

* Fix up payment gateway conflicts after rebase

* Handle PR feedback

* Optimistically dismiss the payment gateway suggestions

* Add changelog entry

* Add square_image support for new API param

* Fixed lint error

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2022-03-07 09:15:06 -04:00
louwie17 b871cbf09b Fix/8251 woocommerce payments task list logic (https://github.com/woocommerce/woocommerce-admin/pull/8332)
* Allow the support of multiple task lists with overlapping tasks

* Add filter by task ids

* Revert getTaskListById call

* Fix notices

* Move prefix event to task and task list classes instead

* Fix track events and extended task list

* Fix php unit tests

* Remove the seperate task list classes as this was unnecessary.

* Fix tests

* Remove unneeded allowed-tasks

* Change onboarding task list redux store structure

* Add extra id for handling hidden param for experimental task lists

* Fix lint errors

* Fix forgotten change

* Add changelog
2022-03-01 08:34:18 -04:00
louwie17 e652b0b93f Fixes some minor process issues (https://github.com/woocommerce/woocommerce-admin/pull/8355)
* Additional general updates and improvements

* Fix php lint errors
2022-02-23 13:04:59 -04:00
Chi-Hsuan Huang 56f7850d07 Make src/Features/* internal except for Features.php, Onboarding.php and TransientNotices.php (https://github.com/woocommerce/woocommerce-admin/pull/8318)
* Move src/Features/* to src-internal/Admin/ except for Features.php, Features/Onboarding.php and TransientNotices.php
2022-02-21 17:47:28 +08:00
Joshua T Flowers 067c9f763e Fix task ID class check and add tests around tracking (https://github.com/woocommerce/woocommerce-admin/pull/8185)
* Fix task ID class check and add tests around tracking

* Add changelog entry

* Add doc comment for return value of recorded tracks event
2022-01-18 15:29:14 -05:00
Joshua T Flowers 8ff08ea0c9 Use abstraction to add and retrieve task data (https://github.com/woocommerce/woocommerce-admin/pull/7918)
* Add class check to added tasks

* Make Task class asbtract

* Update tasks to use abstraction

* Update task property calls to methods and add extended class

* Fix up task tests

* Reorder script enqueing to check less expensive operations first

* Fix up dismissable and snoozeable checks

* Fix up typos

* Load default task classes on init

* Handle PR feedback

* Fix extended tasks not showing

* Update is_visible to can_view in deprecated tasks

* Use TestTask class for unit tests

* Add changelog entry

* Fix up API tests

* Update ExtendedClass name to DeprecatedExtendedClass

* Fix up rebase
2021-11-16 08:59:55 -05:00
Joshua T Flowers 126707eeab Replace old task list option calls with data store selectors (https://github.com/woocommerce/woocommerce-admin/pull/7820)
* Add endpoint to unhide task list

* Rename show method to unhide

* Replace requests for hidden task list options

* Replace unhide task list requests

* Replace task list complete checks

* Replace dismiss option requests

* Remove complete task option check

* Fix up panel buttons

* Update finished setup to wait for task list resolution

* Create selector for getting a single task list

* Add selector for single task

* Fix task list panel visibility

* Add changelog entry

* Fix empty product types in profiler data

* Revert to checking for hidden task list
2021-11-15 15:57:13 -05:00
louwie17 3707812ebe Refactor/consolidate Datasource poller (https://github.com/woocommerce/woocommerce-admin/pull/7671)
* Initial refactor and consolidation of the DataSourcePoller code

* Move transient logic into DataSourcePoller class

* Fix function name

* Fix tests

* Add changelog

* Fix tests and update use of DataSourcePoller

* Make use of ID's in the DataSourcePoller

* Fix parsing error

* Update data_sources filter
2021-10-20 15:53:43 -03:00
Joshua T Flowers 816776b02b Add route and layout for unmatched path (https://github.com/woocommerce/woocommerce-admin/pull/7503)
* Add route and layout for unmatched path

* Add NoMatch to catch missing report pages

* Load WooCommerce Admin scripts on all pages

* Move NoMatch inside default page layout

* Add permission checks to tabs

* Allow update_option_extended_task_list to be called on non-admin pages

* Check for task list task count in extended list update function

* Add changelog entry

* Add PR number to changelog entry

* Remove deprecated extended task list filter and tests
2021-10-14 10:04:17 -04:00
louwie17 9f6963f87d Add sort_by config option to the sort_tasks method (https://github.com/woocommerce/woocommerce-admin/pull/7767)
* Add sort_by config option to the sort_tasks method

* Add tests for sort function

* Fix merge conflict
2021-10-12 15:28:52 -03:00
Joshua T Flowers 76c082ff2c Add TaskList unit tests (https://github.com/woocommerce/woocommerce-admin/pull/7754)
* Add TaskList unit tests

* Remove extra prefix event method

* Fix up test vars
2021-10-08 17:01:37 -04:00
Joshua T Flowers 93b42ad9ef Add an endpoint and method for actioning tasks (https://github.com/woocommerce/woocommerce-admin/pull/7746)
* Add checks for actioned task status

* Update completion logic for task

* Add rest route for actioning tasks

* Add action in data store for actioning tasks

* Add test for actioning task

* Only prune isActioned from task data
2021-10-05 13:07:50 -04:00
Joel Thiessen 9c5c39732b Only return viewable tasks from tasks endpoint (https://github.com/woocommerce/woocommerce-admin/pull/7718) 2021-09-29 16:47:01 -07:00
louwie17 da395281e7 Add changelog and enable promotion in core and plugin configs (https://github.com/woocommerce/woocommerce-admin/pull/7666)
* Add changelog and enable promotion in core and plugin configs

* Add PR number

* Make variation name a constant

* Clone spec as we are overwriting the is_visible prop

* Fix unit tests and support array and object

* Revert explat variation name

* Update changelog entry

* Update changelog once more

* Make sure the recommendations show up if marketplace suggestions is not defined defaulting to 'yes'
2021-09-27 10:24:47 -03:00
Joshua T Flowers 9a361dde6c Add Task API (https://github.com/woocommerce/woocommerce-admin/pull/7665)
* Add Task model API

* Add task dismiss and snooze methods

* Add tests

* Fix snooze time check
2021-09-20 17:17:22 -04:00
Joshua T Flowers 8f836c292f Create task list APIs (https://github.com/woocommerce/woocommerce-admin/pull/7577)
* Add endpoint to hide task lists

* Migrate old setup task list hidden option

* Use option to store all hidden lists

* Add getter for deprecated options

* Migrate old task list options

* Move task lists into separate class

* Add TaskList class for individual task list control

* Update hidden checks to use TaskList api

* Update docs for hidden lists

* Update use of should_show_tasks to check for visible task lists

* Remove hide endpoint to reduce scope on PR

* Fix up failing tests

* Fix up rebase

* Add back in should_show_tasks with deprecation notice

* Add delay between payment tests
2021-09-02 17:40:02 -04:00
Joshua T Flowers d8d14fb9ca Localize payment gateway suggestions on wccom (https://github.com/woocommerce/woocommerce-admin/pull/7217)
* Localize payment gateway suggestions on wccom

* Add user locale as param to source URL

* Fix mock http request params
2021-07-05 17:50:26 -04:00
Joshua T Flowers c558a5bceb Add unit tests for payment gateway suggestions data source poller (https://github.com/woocommerce/woocommerce-admin/pull/7153)
* Move data source filter name to constant

* Add unit tests for data source poller

* Handle PR feedback

* Add use statement for DataSourcePoller

* Fix trailing comma
2021-06-16 15:27:48 -04:00
Joshua T Flowers af39737d90 Add EvaluateSuggestion unit tests (https://github.com/woocommerce/woocommerce-admin/pull/7152) 2021-06-15 17:48:30 -04:00
Joshua T Flowers f57edb6e6c Add payment gateway suggestion unit tests (https://github.com/woocommerce/woocommerce-admin/pull/7142)
* Add payment gateway suggestions unit tests

* Fix up old key fields

* Fix up lingering semantic inconsistencies

* Add changelog entry

* Add in default payment gateways for tests

* Handle PR feedback

* Fix up rebased changelog entries
2021-06-15 17:24:10 -04:00
Joshua T Flowers b9df97c984 Add unit tests around extended payment gateway controller (https://github.com/woocommerce/woocommerce-admin/pull/7133)
* Add unit tests around extended payment gateway controller

* Add changelog entry

* Add mock enhanced gateway and make REST API schema consistent
2021-06-14 10:23:04 -04:00
Joshua T Flowers 685c012dfe Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809)
* Add PluginInstaller class

* Redirect to referring page if one exists

* Store message and show after redirect

* Add transient notices feature

* Fix default and empty state of notices

* Use TransientNotices to display plugin notices

* Add transient notices readme

* Add feature unit tests

* Update notice queue client-side

* Add filter to queued option prior to notice creation

* Use the core/notices2 data store

* Fix filtered queued notices

* Add methods to get individual notices and queue

* Allow user ID specific notices

* Remove errant script asset dependencies

* Add user ID property to docs

* Use preloaded option instead of window var

* Refactor transient notices to directly use option instead of state

* Show error message from WP_Error in plugin installer

* Add tests around notice queue in client

* Add changelog entry
2021-05-13 09:08:31 -04:00
Ilyas Foo 168b1a17b1 Add CES track settings tab on updating settings (https://github.com/woocommerce/woocommerce-admin/pull/6368)
* Add settings_area prop to CES settings track

* Update readme and testing instructions

* Update comments

* Add test

* Fix testing instructions
2021-02-22 10:09:45 +08:00
Fernando 2ab28c977f Extended task list refactor (https://github.com/woocommerce/woocommerce-admin/pull/6081)
* Fixed hiding core task list

This commit fixes the hiding of the core task list

* Added tests

* Added fix to readme.txt

* Fixed readme.txt

* Added new test

* Hooks were fixed

* Refactored task lists handling

This commit refactors a few things related to the task lists handling

* Added tests

* Fixed task lists handling

* Fixed tests

* Renamed 'taskListHidden' to 'taskListsHidden'

* Added taskListsHidden util

* Fix completed tasks tracking infinite loop

This commit fixes the completed tasks tracking infinite loop (for multiple extended tasks)

* Refactored update check

* Hide task list if there aren't any visible tasks

* Fixed comment

* Fixed typo

* Renamed example method

* Fixed example extension

* Added tab to the extension example

* Fixed extended task list enabling option

* Added more tests

* Added PHP tests

* Fixed some comments

* Removed utils.js file

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-01-27 15:40:02 -03:00
Ilyas Foo 71877be8dc Reverts work done in woocommerce/woocommerce-admin#4857 for automated shipping after OBW is completed (https://github.com/woocommerce/woocommerce-admin/pull/5971)
* Reverts work done in woocommerce/woocommerce-admin#4857 for automated shipping after OBW is completed

* Remove ReviewShippingSettings note

* Update readme.txt

* Add wc-admin-review-shipping-settings to delete note list
2021-01-01 15:30:28 +08:00
Adrian Duffell 6a873ad470 Update Customer Effort Score to ignore tasks performed on mobile (https://github.com/woocommerce/woocommerce-admin/pull/5672)
* Update Customer Effort Score to only ask feedback from desktop users

* Add test for mobile disabling

* Update documentation

* Fix broken test

Instantiation of `CustomerEffortScoreTracks` was moved to the individual tests because it has the side effects of adding hooks in the constructor.
2020-11-23 06:26:24 +08:00
Moon 30cfb76e2e Prevent adding duplicate queue item by checking action and label values (https://github.com/woocommerce/woocommerce-admin/pull/5682)
* Prevent adding duplicate queue item by checking action and label values
2020-11-18 16:30:22 -08:00
Matt Sherman 2c76b62541 Update CES tests to fake that they are in wp-admin (https://github.com/woocommerce/woocommerce-admin/pull/5678) 2020-11-18 14:44:57 -05:00
Moon df0b78f163 Update/5348 trigger ces on changing setting (https://github.com/woocommerce/woocommerce-admin/pull/5569)
* Trigger CES on the settings page when settgins get updated

* Added base test case for the CES class

* Update comments for the test

* Fix failing test -- moved down setup code after parent::setUp() so that the parent setUp runs first

* Fix coding standard

* Rename add_actions to enable_survey_enqueing_if_tracking_is_enabled and include admin_init action call in the method
2020-11-10 12:34:24 -08:00
Moon 72b9e7911e Update/5394 remove label printing mention for non us countries (https://github.com/woocommerce/woocommerce-admin/pull/5527)
* Do not insert label printing text for non-us countries

* Add test cases

* Rename variable
2020-11-03 19:39:56 -08:00
Francesco 36f61c89f1 chore: rename WCS to WC Shipping & Tax (https://github.com/woocommerce/woocommerce-admin/pull/5139) 2020-09-16 16:45:16 -05:00
Claudio Sanches 073a3f706f Fix usage of "package" tag in file headers (https://github.com/woocommerce/woocommerce-admin/pull/4940)
* Don't require package tag or file comment inside src

* Removed package tag from files inside src

* Fixed tests directory in phpcs.xml.dist

* Fixed usage of package tag

* Fixed new classes

* Fixed coding standards

* Fixed coding standards in tests
2020-08-11 16:18:47 -03:00
Bec Scott b511469dc8 Automatically add free local shipping zone on completing the profiler (https://github.com/woocommerce/woocommerce-admin/pull/4857)
* Set up profile completed action

* Stub out the steps

* Only run if Jetpack is installed and connected

* Return if WCS isn't active

* Return unless physical is selected as a product type

* Return if there are existing shipping zones

* Shipping labels are enabled when WCS is installed

* Set up free local shipping

* Comment for the profiler complete action

* By default there is no international/catch-all shipping method set up

* Add review shipping settings note

* Record tracks event

* Fix logic

* Add unit test around setting up free local shipping

* Rename some functions

* Use countries service to get all countries

* Drop duplicated possibly_add_note()

* Check the old value when determining if the profiler has completed

* Fall back to country code if country name doesn't exist

* Use admin_url fn to build up URL

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-08-11 14:39:25 +10:00
Joshua T Flowers ea2c2f7707 Fix sorting to push Storefront to the top of the theme list (https://github.com/woocommerce/woocommerce-admin/pull/4187)
* Fix sorting to push Storefront to the top of the theme list

* Add test to ensure Storefront is sorted in get_themes()

* copy paste cleanup

* Refactor sorting logic.

* Fix linting errors

* Updates per feedback.

* Add check for products property

* Fix for 5.6 CI.

* Oh hey another CI fix

Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
2020-04-28 14:47:05 -07:00
Chris Shultz 65f7a0cf7d Remove A/B testing from order page shipping prompt. (https://github.com/woocommerce/woocommerce-admin/pull/4180) 2020-04-23 10:33:42 -07:00
Fernando Espinosa b71bc861fb WooCommerce Shipping order page prompt (https://github.com/woocommerce/woocommerce-admin/pull/3955)
Co-authored-by: David Stone <david@nnucomputerwhiz.com>
Co-authored-by: Chris Shultz <chris.shultz@automattic.com>
Co-authored-by: Harris Wong <harris.wong@a8c.com>
2020-03-27 13:42:58 -07:00