Commit Graph

456 Commits

Author SHA1 Message Date
Ilyas Foo 154071c1bc Revert copy for setup checklist (https://github.com/woocommerce/woocommerce-admin/pull/7015)
* Revert copy for index.js and tasks.js

* Update changelog

* Update test

* Update tests

* Update tests again

* Lint
2021-05-21 09:13:40 +08:00
louwie17 7cfaa21db2 Add source support for notes query (https://github.com/woocommerce/woocommerce-admin/pull/6979)
* Add source support for notes query

* Add changelog

* Removed ternary condition
2021-05-14 13:13:51 -03:00
Moon e2d9a8792a Support transformers in remote inbox notifications (https://github.com/woocommerce/woocommerce-admin/pull/6948)
* Introduce Transformer to Remote Inbox Notification
* Added array_column, array_flatten, array_keys, array_search, array_values, and dot_notation transformers.
* Added tests
2021-05-13 21:27:35 -07: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
louwie17 295cd6b2c9 Add note date range logic (https://github.com/woocommerce/woocommerce-admin/pull/6969)
* Add notes helper method for date ranges

* Update two of the notes with date ranges

* Add tests and fix range logic

* Add changelog

* Update comments

* Update range name and added exception if invalid range passed in.

* Fix php unit tests

* Fix another test
2021-05-13 09:41:21 -03:00
Joel Thiessen 073a220b59 Adding Slotfill extension components for remote payments (https://github.com/woocommerce/woocommerce-admin/pull/6932) 2021-05-11 09:36:56 -07:00
louwie17 094b73561d Fix/6954 script asset filename (https://github.com/woocommerce/woocommerce-admin/pull/6955)
* Update the get_script_asset_filename function calls to match new format

* Added e2e test for the coupons page

* Add changelog

* Remove typo in changelog
2021-05-07 13:29:20 -03:00
Bec Scott 7a0b00ec0c Un-skip product import test, delete all products in the setup (https://github.com/woocommerce/woocommerce-admin/pull/6905)
* un-skip test, delete all products in the setup

* add to readme

* change fix to dev
2021-04-30 11:38:26 +10:00
louwie17 071a68b950 Update task list component to make use of new experimental list (https://github.com/woocommerce/woocommerce-admin/pull/6849)
* Add initial task item component with the new task list

* Switch components to functional components

* Some minor updates from the last rebase

* Fix missing variables.

* Fix tests

* Add animation for the experimental list

* Fix lint error

* Add changelog

* Fix E2E tests

* Update PR suggestions and export list from experimental package

* Fix dismiss styling issue

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2021-04-27 12:23:34 -03:00
Waclaw Jacek 4c17776815 Throw custom exception in NoteTraits if notes are disabled (https://github.com/woocommerce/woocommerce-admin/pull/6771)
A custom exception `NotesUnavailableException` will be thrown on attempts to load the "admin-note" data store using the `Notes::load_data_store()` method introduced in this PR.

All calls to `\WC_Data_Store::load( 'admin-note' )` were replaced with calls to the above method.
2021-04-26 23:57:39 +02:00
louwie17 3ff1e1375e Update E2E config to support screenshots on test failure (https://github.com/woocommerce/woocommerce-admin/pull/6858)
* Add login page wait script for e2e tests

* Re-navigate to login page, if initial selector does not exist

* Add screenshot if login page did not render

* Add screenshot code, and screenshot artifacts to GH action

* Update screenshot logic for login

* Update artifact task

* Update upload artifact workflow

* Update jest config to make sure the screenshots work on test failures

* Remove old screenshot code

* Add screenshots to daily e2e tests as well incase of failure

* Add changelog
2021-04-26 13:41:38 -03:00
Moon 6846036594 Convert date to timestamp before passing to set_date_prop to persist … (https://github.com/woocommerce/woocommerce-admin/pull/6795)
* Convert date to timestamp before passing to set_date_prop to persist the correct timezone
2021-04-20 17:00:30 -07:00
louwie17 be7dd2dd5e Add recommended payment methods (https://github.com/woocommerce/woocommerce-admin/pull/6760)
* Add initial payment recommendations code for the payments settings

* Added request data for the recommended payments

* Some styling updates and make sure it does not show when marketplace suggestions is disabled

* Update url

* Update comment in php class

* Add tests

* Fix lint errors

* Remove unnecessary type

* Fix lint error

* Fix broken test

* Convert plugin package to typescript

* Fix lint errors

* Add changelog

* Add support for locale-data

* Fix track name

* Fix up the tests

* Fix lint errors

* Address PR feedback

* Add tests for option hydration

* Make types more robust in plugins reducer

* Made use of SlotFill component instead of page registry and router

* Removed console log, and fixed types

* Add newer version of i18n to data package, for newer types

* Make the request to WooCommerce.com more restrictive

* Fix path of import

* Update PHP with suggested changes

* Remove SlotFill with applyFilters

* Update copy and PR feedback

* Update package lock

* Updated package lock

* Fix the package lock

* Added dot, and some minor styling changes

* Add test instructions
2021-04-20 14:17:19 -03:00
Joshua T Flowers 8f018fc518 Add plugin installer to allow installation of plugins via URL (https://github.com/woocommerce/woocommerce-admin/pull/6805)
* Allow any plugin to be installed or activated

* Add PluginInstaller class

* Redirect to referring page if one exists

* Store message and show after redirect

* Add changelog and testing instructions
2021-04-16 15:45:43 -04:00
Jeff Stieler 9e05116326 Detect missed DB version number updates and fix them. (https://github.com/woocommerce/woocommerce-admin/pull/6818)
* Detect missed DB version number updates and fix them.

* Add changelog entry.
2021-04-16 15:01:04 -04:00
Adrian Duffell 6434ffb9c8 Add nonce support to note actions (https://github.com/woocommerce/woocommerce-admin/pull/6726)
* Add database columns

* Add support for nonces in note actions

* Add test for nonces in note actions

* Fix db values should default to null

* Fix a bug where URLs had encoded ampersands

* Update variable naming for clarity

* Add throwing an exception when note name not found

* Add tests for nonces in the datastore

* Add changelog

* Fix default paramater name

* Add changelog

* Revert "Add changelog"

This reverts commit f842bc58e4db66c8a497ca4f38d1b0294590192d.
2021-04-16 13:56:39 +08:00
Sam Seay b13feaeafd Add some tweaks to e2e tests to try and resolve flakyness issues (https://github.com/woocommerce/woocommerce-admin/pull/6812) 2021-04-16 10:47:21 +12:00
Paul Sealock 7ab756b76c Try ExPlat: Add A/A test (https://github.com/woocommerce/woocommerce-admin/pull/6669)
* Add basic ExPlat initialization

* add tsx support
2021-04-15 13:32:46 +12:00
Sam Seay 97d143b762 Add in missing awaits that could have been causing tests to be flaky. (https://github.com/woocommerce/woocommerce-admin/pull/6800) 2021-04-15 09:20:44 +12:00
Joshua T Flowers eb6186a29c Refactor payments to allow management of methods (https://github.com/woocommerce/woocommerce-admin/pull/6786)
* Add manage button for enabled and configured payments

* Enable methods only instead of toggling

* Update payment methods location

* Move ribbon to separate component

* Move setup container to separate component

* Move payment action to separate component

* Refactor payments to functional component

* Fix missing action props

* Fix broken onsetup callback

* Update payment method keys to match management pages

* Add changelog and testing instructions

* Revert key changes in favor of manageUrl

* Update e2e tests for payments
2021-04-14 15:26:50 -04:00
Jeff Stieler d819373057 Avoid updating customer info synchronously when "last active" is modified. (https://github.com/woocommerce/woocommerce-admin/pull/6765)
* Schedule (async) customer update when last active date is modified.

* Add test case for scheduled customer update.

* Add changelog entry.
2021-04-12 10:17:02 -04:00
louwie17 b29cd9a6c0 Add support for php8 unit tests (locally and in GH actions) (https://github.com/woocommerce/woocommerce-admin/pull/6678)
* Partial local version to run php8 unit tests

* Remove the post install scripts

* Remove tab

* Make sure woocommerce version contains patch number

* Remove unnecessary script

* Update bin settings and unit test script

* Remove phpunit binary

* Updated how php unit is being run

* Add specific phpunit version for php8

* Update bin phpunit composer.json

* Final cleanup of scripts

* Fix potential test where image is an object

* Move setting image below save

* Add changelog

* Do not convert obj/array to string for email_actions

* Remove some uses of tabs

* Set WP and WC version to minimum php 8 supported

* Remove unnecessary composer install within tests
2021-04-07 14:28:03 -03:00
Sam Seay 9dd75e83f8 Improve page object encapsulation, refactor e2e suite, add more e2e tests. (https://github.com/woocommerce/woocommerce-admin/pull/6682) 2021-04-05 12:09:36 +12:00
Adrian Duffell 20865df164 Fix various php lint errors (https://github.com/woocommerce/woocommerce-admin/pull/6705) 2021-03-31 07:43:34 +08:00
Adrian Duffell b48e2addeb Fix Database Table Creation Test (https://github.com/woocommerce/woocommerce-admin/pull/6670)
* Fix mistake in documentation

* Fix typo in query

* Fix a bug where the tables were not being dropped
2021-03-26 21:52:54 +08:00
Ilyas Foo 6296952949 Improve AddFirstProduct email note contents (https://github.com/woocommerce/woocommerce-admin/pull/6617)
* Add capability for merchant email note personalization, improve AddFirstProduct email note contents.

* Update heading

* Update readme and testing instructions

* Remove old image, fix typo and improve translation
2021-03-26 09:26:07 +08:00
louwie17 d5800c1a7a Check if value for contains comparison is an array (https://github.com/woocommerce/woocommerce-admin/pull/6645)
* Add warning and default to empty array for contains operation, when value is not array

* Add changelog

* Move option is array check and warning to the OptionRuleProcessor

* Added a check for the new_value as well, given we do the same for the old_value
2021-03-25 08:55:36 -03:00
Adrian Duffell 05d9cf3546 Add tests for database table creation (https://github.com/woocommerce/woocommerce-admin/pull/6658) 2021-03-25 13:21:03 +08:00
Sam Seay cc01b9816e Fix TypeScript build for `packages` and add types for wc/data's onboarding store (https://github.com/woocommerce/woocommerce-admin/pull/6595) 2021-03-25 10:29:37 +13:00
louwie17 9b180db614 Add Typescript and page objects to E2E suite (https://github.com/woocommerce/woocommerce-admin/pull/6582)
* Initial playwright

* Updated e2e to use playwright and typescript

* Update set up environment and jest package

* Add changelog

* Add await to uncheck

* Fix formatting

* Revert jset back to ~24, as >25 runs slower, see facebook/jestwoocommerce/woocommerce-admin#9457

* Removed some unnecessary uses of waitForSelector

* Fix eslint issue

* Fix the e2e tests with latest updates

* Running most tests, with typescript now

* Fix any outstanding queries for the tests to work

* Update changelog

* Remove unnecessary jest version and unnecessary transform setting

* Fix test case broken after rebase

* Add fix to make e2e tests more robust

* Making sure dropdown value is correct

* Reove the wcpay condition for features number
2021-03-17 16:22:09 -03:00
Moon fda300ff4f Improve WC Shipping & Tax logic (https://github.com/woocommerce/woocommerce-admin/pull/6547)
* Improve WC Shipping & Tax logic

* Add changelog

* Simplify return statement

* Add test for filtering selected extensions

* Fix broken test
2021-03-17 01:22:33 -07:00
Sam Seay e51e1401c5 Fix a bug where the JP connection flow would not activate (https://github.com/woocommerce/woocommerce-admin/pull/6521)
Fixes woocommerce/woocommerce-admin#6488

Changes.

* See the issue for the discussion, but we're changing the behaviour of triggering the connection flow as part of this. Before it was required that both wc-services and wc-admin were installed before triggering the flow.

* Also the plugins value was not being updated properly in the new flow, but plugins is not used in any useful way in the onboarding profile, so I have removed it completely. We now rely on the actual installed plugins to determine what is installed/activated.
2021-03-12 16:36:23 +13:00
Sam Seay 4ec75439c5 Remove rest API props from onboarding confirmed as no longer used. (https://github.com/woocommerce/woocommerce-admin/pull/6520) 2021-03-11 08:50:23 +13:00
Fernando 1267af3665 Business features step: include Mailpoet (https://github.com/woocommerce/woocommerce-admin/pull/6515)
* Added "MailPoet" option to new Business Details step

This commit adds "MailPoet" option to the new Business Details step

* Modified the Creative Mail copy

* Added changelog

* Added testing instructions

# Conflicts:
#	TESTING-INSTRUCTIONS.md

* Fixed testing instructions

* Fixed e2e tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-03-10 14:27:58 -03:00
louwie17 cb3c1e88e8 Add tilde (~) option for client root directory (https://github.com/woocommerce/woocommerce-admin/pull/6517)
* Add tilde option for client root directory

* Support tilde start as internal to fix lint issues

* Update baseUrl and paths so auto complete works correctly

* Add changelogs

* Add eslint support for webpack resolvers

Co-authored-by: Matt Sherman <matt@jam123.com>
2021-03-10 11:11:37 -04:00
Fernando 0ebccd674b Fixed associated Order Number for refunds (https://github.com/woocommerce/woocommerce-admin/pull/6428)
* Fixed related orders problem

This commit fixes the related orders problem

* Fixed customer type query

* Fixed get_order_number filtering

* Added a default value to totalResults

This commit adds a default value to totalResults (in order to avoid errors)

* Added testing instructions

# Conflicts:
#	TESTING-INSTRUCTIONS.md

* Added changelog

# Conflicts:
#	readme.txt

* Fixed orders without products

* Added tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-03-09 15:57:50 -03:00
louwie17 14e2becc9a Update/6487 target audience of business feature step (https://github.com/woocommerce/woocommerce-admin/pull/6508)
* Prune out old bundle flow and expand range of new one

* Add feature flag, default to true

* Update feature flag, and updated WcPay logic

* Fix lint errors

* Add changelog

* Onlly show WC payments task if part of the business extensions

* Remove stray console log

* Update copy of WCPay card

* Add a couple more e2e tests

* Add await for click

* Add test instructions
2021-03-08 10:23:39 -04:00
Joshua T Flowers 7a20e582a3 Add initial tests for navigation Menu class (https://github.com/woocommerce/woocommerce-admin/pull/6492)
* Add initial tests for navigation Menu class

* Add changelog entry
2021-03-03 08:09:33 -05:00
Joshua T Flowers a4785b7c2a Add navigation favorites tests (https://github.com/woocommerce/woocommerce-admin/pull/6409)
* Add navigation favorites tests

* Fix copy pasta

* Fix test comment

* Add changelog entry
2021-03-02 10:15:53 -05:00
Joshua T Flowers d5bed6a878 Add navigation screen unit tests (https://github.com/woocommerce/woocommerce-admin/pull/6421) 2021-02-24 10:45:41 -05: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
Joshua T Flowers d4d0eb8870 Add settings client pages and plumbing (https://github.com/woocommerce/woocommerce-admin/pull/6092)
* Move wc-admin-settings folder

* Add the settings container

* Add settings client
2021-02-12 14:32:42 -05:00
Sam Seay 3ccf825e16 Adjust the timing of the Marketing.php note to 5 days. (https://github.com/woocommerce/woocommerce-admin/pull/6083) 2021-02-10 08:56:13 +13:00
louwie17 656eea0706 Skip intermittent failing test (https://github.com/woocommerce/woocommerce-admin/pull/6273) 2021-02-04 17:56:07 -04:00
Moon e02429dff3 Skip failing tests in WP 5.3 and 5.4 (https://github.com/woocommerce/woocommerce-admin/pull/6209)
* Skip failing tests in WP 5.3 and 5.4

* Add a reason for the skipping
2021-01-27 20:02:35 -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
louwie17 b0126c36bf Delete all products before running tests (https://github.com/woocommerce/woocommerce-admin/pull/6178)
* Delete all products before running tests

* Delete products in tear down instead

* Only remove the color attribute, as other attitributes are necessary in other tests

* Make assertion more lenient, and remove all products deletion

* Fix lint errors

* Changed to check if imported is at-least 2 items
2021-01-27 13:57:58 -04:00
louwie17 74b3eccbc9 Add option to create product by template (https://github.com/woocommerce/woocommerce-admin/pull/5892)
* Initial product template modal

* Add custom product template for the new-post route

* Add test, and code for making use of the insert_post action

* Added ProductTemplates Datastore to create template with REST api

* Add back variation method, deleted by accident

* Move product from template endpoint to OnboardingTasks class

* Fix lint errors

* Added tracks and template hooks

* Rename product create permission check function, for less confusion

* Remove duplicate recommended option

* Fix stylelint errors

* PHP tests for the product_from_template endpoint

* Fix onboarding php unit tests

* Write tests for client product template options

* Refactored list component, to use it as a radio control list

* Fix lint errors

* REmove assertion as it fails on the ci

* Add changelog

* Updating tests to make sure all product attribute taxonomies are removed

* Add more specific assertions for importing sample products test

* Update the sample products test

* Deconstruct item object, from PR suggestion

* Fix PHP errors, by updating the createProductFromTemplate call
2021-01-25 12:52:42 -04:00
Moon b80b65bd46 Add a new note a day after adding the first product (https://github.com/woocommerce/woocommerce-admin/pull/6032)
* Add a new note a day after adding the first product
* Do not add note if store has been active for more than 14 days
2021-01-20 22:11:53 -08:00
Sam Seay 7041c3b2d3 Add the "Getting started in Ecommerce" inbox note (https://github.com/woocommerce/woocommerce-admin/pull/6086) 2021-01-21 16:13:23 +13:00