Commit Graph

499 Commits

Author SHA1 Message Date
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
Ilyas Foo 364b284e3e Fix analytics crashing on daylight saving (https://github.com/woocommerce/woocommerce-admin/pull/7763)
* Fix next_day_start from miscalculating daylight saving dates

* Add failsafe for do-while loop in next_week_start

* Add changelog

* Add seconds to setTime
2021-10-11 09:45:24 +08: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
louwie17 3bda07aec3 Add status param support for dismissing all notes (https://github.com/woocommerce/woocommerce-admin/pull/7743)
* Add status param support for dismissing all notes

* Add changelog

* Add unit test for new arg in /delete/all endpoint
2021-10-05 15:37:52 -03: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 33ca13abc9 Fix category lookup class (https://github.com/woocommerce/woocommerce-admin/pull/7709)
* Initial test

* Add category look up tests

* Add more tests

* Add changelog

* Update PR number in changelog
2021-09-28 13:59:10 -03: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
louwie17 3b2cce8814 Include yoast phpunit polyfills in phpunit tests (https://github.com/woocommerce/woocommerce-admin/pull/7695)
* Include yoast phpunit polyfills in phpunit tests

* Do a normal composer install

* Use original composer.lock

* Remove the use of composer 1

* Fix asset url

* Fix failed test with file rename

* Make sure plugin_dir_url is pointing at a file

* Fix asset url take 3

* Fix lint error
2021-09-23 18:01:52 +08:00
Joshua T Flowers b8b7c94bd1 Fix unsecured report files (https://github.com/woocommerce/woocommerce-admin/pull/7691)
* Fix unsecured report files

* Add changelog entry
2021-09-21 12:06:49 -07: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
louwie17 4fb6841e40 Add task list and activity panel E2E tests (https://github.com/woocommerce/woocommerce-admin/pull/7509)
* Add hide and show task list tests

* The start to adding tests for the activity panel

* Add activity panel tests and WP-API plugin on initialize

* Update task list tests to be more flexible

* Add changelog in package

* Update the re-enable task list logic to be more robust

* Use a more generic selector

* Make sure task list is shown in previous test

* Add test screenshot

* Remove screenshot and update logic

* Address PR feedback
2021-09-03 08:21:43 -03: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
Adrian Duffell 6d23ab7ea1 Add newsletter signup to profiler (https://github.com/woocommerce/woocommerce-admin/pull/7601)
* Add email address field to store details step in OBW (https://github.com/woocommerce/woocommerce-admin/pull/7552)

* Subscribe store_email to MailChimp (https://github.com/woocommerce/woocommerce-admin/pull/7579)

* Add prefill for email field in OBW (https://github.com/woocommerce/woocommerce-admin/pull/7570)

* Add error handling for email validation errors from backend (https://github.com/woocommerce/woocommerce-admin/pull/7590)

* Remove OnboardingEmailMarketing note class (https://github.com/woocommerce/woocommerce-admin/pull/7595)

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Moon <moon.kyong@automattic.com>
2021-08-31 12:39:04 +08:00
Moon aaf7832ddb Feature/add logger to rin (https://github.com/woocommerce/woocommerce-admin/pull/7194)
* Add evaluation logger

* Update readme

* Use simplified log format

* Add a new line at the end

* Move constant checking to consumer level

* Rename constant name

* Check constant before checking the value

* Fix test

* Add changelog

* Move initialization of the logger to RuleEvaluator and use more generic constant name

* Remove the default source value

* Update readme.txt

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Update src/RemoteInboxNotifications/README.md

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Update src/RemoteInboxNotifications/RuleEvaluator.php

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Add soruce -- remote-inbox-notifications

* Move WC_ADMIN_DEBUG_RULE_EVALUATOR check to the logger

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2021-08-30 13:26:36 -07:00
Moon 59f0ffd1a6 Fix broken tests with the latest WC (https://github.com/woocommerce/woocommerce-admin/pull/7582) 2021-08-30 12:02:38 -07:00
David Levin c728cced1f Sentence case all the things analytics (https://github.com/woocommerce/woocommerce-admin/pull/6501)
* Sentence case all the things

* Update a few more things that were missed on the first round

* update documentation titles to use title case

* Add changelog

* Handle PR feedback

* Revert readme changelog changes

* Revert changes to ALT text in dev documentation

* Revert a change to ALT text in dev documentation

* Fix failing tests

Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2021-08-13 14:54:24 -04:00
Moon cd49514b3e Attempt to fix broken test in PHP 7 + WC latest + Composer 1.10.19 (https://github.com/woocommerce/woocommerce-admin/pull/7404)
* Fix broken test by replacing LegacyProxy from WC container
2021-07-22 15:09:57 -07:00
Moon 199b042e77 Use the original endpoint in products test (https://github.com/woocommerce/woocommerce-admin/pull/7388)
* Use the original endpoint

* Do not pass status param to use the default value.
2021-07-20 19:03:47 -07:00
Moon 6f163b4cee Fix/7358 stock api performance improvement (https://github.com/woocommerce/woocommerce-admin/pull/7377)
* Add a new endpoint to get low in stock products.

* Set images and attributes property

* WIP -- set last order date

* Do not join postmeta if store does not have any custom stock threshold

* Combine get_query() and get_query_for_sitewide_threshold() into one method and a few code clean ups

* Support status field

* Use new products/low-in-stock endpoint to count low in stock products.

* Use new products/low-in-stock to get low in stock products data.

* Remove low_in_stock support

* Deprecate low_in_stock

* Use the new ProductsLowInStock when low_in_stock is set

* Set cache-control header for the new endpoint

* Use wc_rest_prepare_date_response to format the response date

* Extract low in stock test to a separate file

* Make is_using_sitewide_stock_threshold_only protected

* Revert Products.php changes

* Add back low in stock test to products test

* Remove unnecessary if

* Make the controller final

* Deprecate low_in_stock

* Bug fix -- last_order_date was not setting correctly for variation post type. This commit fixes it

* Add changelog
2021-07-20 16:47:22 -07:00
Jeff Stieler 8e61f55017 Allow packages to be built in isolation. (https://github.com/woocommerce/woocommerce-admin/pull/7286)
* Use yarn instead of npm.

In prep for workspaces, since we're locked to npm < 7. See: https://github.com/woocommerce/woocommerce-admin/pull/7126#issue-661287749

* Initial workspace creation.

* Add initial tsc build to @woocommerce/number.

* Attempt to build experimental package.

* Try currency package.

* Define all packages as workspaces.

* Use tsconfig common to packages.

* Fix currency package build.

* Build csv-export with tsc.

* Try to build customer-effort-score with tsc.

* Fix JSX pragma.

* Build data package with tsc.

* Build date package with tsc.

* Build experimental package with tsc.

* Try to build explat package with tsc.

* Build navigation package with tsc.

* Build notices package with tsc.

* Build onboarding package with tsc.

* Build components package with tsc.

* Swap in package JS build into main script.

* Fix experimental package build.

* Try per-package css build with components.

* Try to run components package tests in isolation.

Broken on JSX in test files not being transformed.

* Move @woocommerce/wc-admin-settings into a package.

* Try to fix components package tests.

Fails because we aren't setting up the jest/jest-dom globals.

* Move JS test code to reusable (private) package.

* Enable incremental TS builds.

* Use workspaces to run JS tests.

* Use new jest configs for update snapshot scripts.

* Fix style builds.

* Fix package version in components.

* Fix client test debug and watch scripts.

* Update yarn lock.

* Update test-staged behavior.

* Try to fix storybook.

* Fix storybook.

* Update more npm commands to yarn.

* Add changelog.

* Fix lint errors.

* Update packages readme script references.

* Clean up unused gitignore match.

* Fix another npm command.

* Fix JS builds on watch.

* Fix start script.

* Fix start scripts for packages.

* Use tsc to build packages before tests

* yarn -> npm.

# Conflicts:
#	package-lock.json
#	package.json

* Fix linter error.

* Remove workspace definitions.

* Fix missing Fragment import.

* Fix package lock.

* Fix missing reference.

* Only build commonjs module for js-tests helper.

* Remove errant dependency from components.

* Remove noop scripts.

* Fix package JS build before testing.

* Revert noisy formatting changes.

* Fix precommit and test scripts.

* Fix minimum expected recommended extension count.

Japan test case breaks this.

* Revert babel config changes.

* chore(release): publish

 - @woocommerce/components@7.2.0
 - @woocommerce/csv-export@1.4.0
 - @woocommerce/currency@3.2.0
 - @woocommerce/customer-effort-score@1.1.0
 - @woocommerce/data@1.4.0
 - @woocommerce/date@3.1.0
 - @woocommerce/dependency-extraction-webpack-plugin@1.7.0
 - @woocommerce/eslint-plugin@1.3.0
 - @woocommerce/experimental@1.5.0
 - @woocommerce/explat@1.1.0
 - @woocommerce/js-tests@1.1.0
 - @woocommerce/navigation@6.1.0
 - @woocommerce/notices@3.1.0
 - @woocommerce/number@2.2.0
 - @woocommerce/onboarding@1.1.0
 - @woocommerce/tracks@1.1.0
 - @woocommerce/wc-admin-settings@1.1.0

* Add script for running 'start' in a package.

* Remove yarn from gitignore.

* Update package changelogs, prep versions for release.

* Try to fix E2E tests after main merge.

* Some cleanup.

* Add changelog.

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-07-14 16:38:57 -04:00
Ron Rennick 4af5eef27b Create E2E package (https://github.com/woocommerce/woocommerce-admin/pull/7084)
* bump E2E package versions to latest

* first pass on E2E test package.json

* move e2e specs to admin-e2e-tests

* add global types, reimplement tests/e2e/specs

* use consistent build dir with other packages

* add documentation, improve test:e2e script

* fix linting issues in admin-e2e-tests

* fix more linting issues

* disable lint on requires

* use e2e in the E2E container names

* move analytics overview test to package

* change extension on analytics-overview test file

* fix linting issues in e2e analytics overview

* remove package scripts from e2e package

* change test specs extensions to .tsx

* remove import from analytics overview test spec

* add .tsx to e2e test spec file extension list

* update e2e business features count expected
2021-07-13 16:38:05 -03:00
Jeff Stieler 12aa391cf0 Fix minimum expected recommended extension count. (https://github.com/woocommerce/woocommerce-admin/pull/7334)
* Fix minimum expected recommended extension count.

Japan test case breaks this.

* Just check for one or more extensions.
2021-07-12 20:03:55 -06: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 41f3d8e99a Remove old payment gateway task components (https://github.com/woocommerce/woocommerce-admin/pull/7224)
* Remove old payment gateway task components

* Move PaymentGatewaySuggestions up one directory

* Add feature check to tasks array

* Turn on payment gateway suggestions in all environments

* Handle PR feedback

* Use gateway suggestions from REST API in help panel

* Fix component path

* Remove BACS test due to SlotFill testing bug

* Await button selector

* Handle PR feedback round 2
2021-06-28 14:18:42 -04:00
louwie17 8b7b8b2011 Add E2E tests for analytics overview screen section removal (https://github.com/woocommerce/woocommerce-admin/pull/7238)
* Add E2E tests for analytics overview screen section removal

* Fix build errors

* Add tests for moving sections up and down
2021-06-24 17:08:16 -03:00
louwie17 c5657002d2 Add date range support to remaining notes (https://github.com/woocommerce/woocommerce-admin/pull/7222)
* Allow custom date range start for date range

* Make use of the date_range logic for any notes using active_for

* Add changelog

* Add a couple extra tests for date range
2021-06-24 11:32:02 -03:00
Jeff Stieler 9f63719baa Fix attribute filter for "any X" variations. (https://github.com/woocommerce/woocommerce-admin/pull/7046)
* Use order item data to match attributes.

Fixes matching on products with "any x" attributes.

* Fix attribute query on variations report.

* Fix variations report item count.

* Add test coverage.

* Add changelog entry.

* Fix non-string query prop warning in SelectControl component.

* Move custom attribute retrieval to a reusable Trait.

* Ensure all custom attribute terms are included in the API response.

* Combine all terms from custom attributes.

When they're split across multiple products.
2021-06-22 08:45:08 -04:00
Jeff Stieler b5f397fa89 Fix report arguments handling in CSV export. (https://github.com/woocommerce/woocommerce-admin/pull/7165)
* Ensure report args are mapped and sanitized before CSV export.

* Add test.

* Fix products query when there are no products in the specified categories.

* Add changelog.
2021-06-18 10:53:52 -06:00
Sam Seay d9daed0a4f Update the wordpress/babel-preset to avoid crashes in WP5.8 beta2 (https://github.com/woocommerce/woocommerce-admin/pull/7202)
* Update the wordpress/babel-preset to avoid crashes in WP5.8 beta2

* Also update other dependencies dropping IE11 support.

* Update data dep in data package.

* Add back regen runtime.

* Add regenerator-runtime dependency for setting up jest tests

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2021-06-18 13:13:17 +08: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
Taha Paksu 399ef81b11 Fix currency display errors in homescreen order activity card (https://github.com/woocommerce/woocommerce-admin/pull/7181) 2021-06-15 21:02:14 +03: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
Jeff Stieler d3fd2f36d0 Include orders without coupons when excluding specific coupon IDs. (https://github.com/woocommerce/woocommerce-admin/pull/7021)
* Include orders without coupons when excluding specific coupon IDs.

* Add changelog entry.

* Fix default Orders before/after query args.

* Specify date range for test query.
2021-06-08 14:56:23 -04:00
Jeff Stieler f432b83365 Revert store setup task list title. (https://github.com/woocommerce/woocommerce-admin/pull/7129) 2021-06-07 11:33:40 -04:00
louwie17 baba993f85 Add remind me later support to task list (https://github.com/woocommerce/woocommerce-admin/pull/6923)
* Initial ellipses menu render on task list

* Added remind me later functionality

* Fixed tests and wrote tests for ellipsis menu

* Update tracks

* Add changelog and update css

* Fix up spacing and track name

* Address PR feedback and add extra integration tests

* Remove the should render correctly test, as the other tests cover this

* Move logic out of mark up

* Directly reference the EllipsisMenu for now to circumvent a circular dependency

* Fix direct import in jest tests

* Preload remind me later optoin

* Some styling animation changes for the task list

* Stagger transitions for dismissing within collapsible list

* Fix lint warnings

* Update logic to prevent the use of TS `as`

* Add tests and comments
2021-06-03 18:44:05 -03:00
Ilyas Foo d936b649fc Remove business step original flow (https://github.com/woocommerce/woocommerce-admin/pull/7103)
* Remove logic flags for business step A/B test

* Delete unused files

* Remove benefits step from profile wizard

* Update related e2e tests

* Update readme

* Rename SelectiveFeaturesBusinessStep to BusinessFeaturesList
2021-06-03 16:33:54 +08:00
Jeff Stieler c23d02bcc0 Add conditional copy/content and CTA to expanded task items (https://github.com/woocommerce/woocommerce-admin/pull/6956)
* Add action button to TaskItem.

* Pass through click event.

* Add separate action and label to onClick.

* Add initial copy for task expansion.

* Expand one task at a time.

* Add descriptive text to the payments step.

* Set the first incomplete task current by default.

* Revert expansion behavior.

* Fix margins.

* Curate purchase products task content based on selections.

* Fix appearance task copy.

* Fix payment task copy.

* Add conditional tax step title.

* Indicated if task is expanded to click handlers.

* Automatically enable WC Tax from the expanded CTA.

* Restore additional text property.

* Fix task title xpath selector in E2E test.

* Fix automatic tax setup query param logic.

* Add changelog entries.
2021-06-01 12:04:21 -06:00
Adrian Duffell 366ffb18b1 Fix formatting in coupons E2E test (https://github.com/woocommerce/woocommerce-admin/pull/7080) 2021-05-27 22:19:51 +08:00
Paul Sealock 40c22add0a Rule processing transformers: Add count rule (https://github.com/woocommerce/woocommerce-admin/pull/7037)
* Add count rule

* better return types

* rename test
2021-05-25 16:32:51 +12:00
Paul Sealock 3ba1afd0ab Rule Processing: pass in default (https://github.com/woocommerce/woocommerce-admin/pull/7009)
* pass default

* handle tests

* changelog
2021-05-25 16:23:49 +12:00
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