Commit Graph

324 Commits

Author SHA1 Message Date
Jeff Stieler 35d763fa8c Merge pull request woocommerce/woocommerce-admin#2463 from KZeni/patch-2
Add State alongside City (and other customer info).
2019-06-28 12:24:25 -06:00
Jeff Stieler fbd231acf4 Add test for reports export endpoint. 2019-06-28 11:10:13 -06:00
Jeff Stieler 8c40000ec2 Merge pull request woocommerce/woocommerce-admin#2496 from woocommerce/fix/rest-controller-default-params
Test that REST controllers work with their default parameters.
2019-06-28 08:52:16 -06:00
Ron Rennick 6982c21d3d Merge pull request woocommerce/woocommerce-admin#2519 from woocommerce/fix/2495
remove double slash from image urls, use string for download ID
2019-06-28 09:28:51 -03:00
Ron Rennick 9f76b02283 set all the unit test download IDs to strings 2019-06-27 17:46:56 -03:00
Jeff Stieler 7e87732dfb Rework test to rely on the REST server handling route defaults. 2019-06-27 11:38:54 -06:00
Jeff Stieler b8abe63d15 Don’t create a batch job that exceeds the range end. 2019-06-26 14:23:56 -06:00
Jeff Stieler 5b4d671833 Change test queue batch size.
Introduces error condition where range start is beyond the end.
2019-06-26 14:16:33 -06:00
Ron Rennick 57a8fbcb51 remove double slash from image urls, use string for download ID 2019-06-26 16:55:57 -03:00
Jeff Stieler 356f1ada77 Merge pull request woocommerce/woocommerce-admin#2502 from woocommerce/add/311-reports-csv-exporter-class
Add Reports CSV Exporter Class
2019-06-26 09:50:06 -06:00
Jeff Stieler 466ddda1a6 Add a test of the CSV export to the coupons report. 2019-06-24 19:26:33 -06:00
Jeff Stieler d6d3161bff Exclude IP download controller from defaults test. 2019-06-24 12:16:58 -06:00
Jeff Stieler 4711a4e11d Ensure coupons are enabled for testing. 2019-06-24 10:55:43 -06:00
Jeff Stieler 7e14630b3b Set default params on each test request, and use an admin user. 2019-06-24 10:55:40 -06:00
Jeff Stieler ff8615dac7 Test that all REST controllers can be called with default params. 2019-06-24 10:50:21 -06:00
Kurt Zenisek ce8d670420 Increased assertCount to accommodate the added data point 2019-06-20 14:24:14 -05:00
Jeff Stieler f75e3c7820 Check for good WC_Orders before using instance methods. 2019-06-20 08:31:10 -06:00
Joshua T Flowers 57416a2bdb Refactor customer name retrieval (https://github.com/woocommerce/woocommerce-admin/pull/2418)
* Return early from creating customer if order is false

* Refactor customer first and last name methods

* Separate customer name tests to create guest orders

* Check for parent_id before retrieving customer ID in refund

* Use registered customer ID in import report tests

* Compare absolute integer when checking for valid customer ID

* Check for order before getting customer ID when retrieving existing customer ID
2019-06-20 11:22:47 +08:00
Kurt Zenisek a39c885160 Added state alongside city & other info 2019-06-19 17:11:24 -05:00
Jeff Stieler d4e242b028 Add test to catch missing version updates. 2019-06-13 15:40:02 -06:00
Ron Rennick 241ebb63ff Merge pull request woocommerce/woocommerce-admin#2407 from woocommerce/fix/2354
Update Amount of {Item} to Number of {Item} when it's a count throughout
2019-06-13 13:41:15 -03:00
Joshua T Flowers 2f49a0a5a7 Prevent multiple imports from running simultaneously (https://github.com/woocommerce/woocommerce-admin/pull/2414)
* Prevent multiple imports from running simultaneously

* Cancel previous imports before importing again in tests
2019-06-13 23:32:58 +08:00
Ron Rennick 6b02ee217c Update Amount of Orders to Number of Orders throughout 2019-06-12 16:16:18 -03:00
Albert Juhé Lluveras 8bc2261c8a Add date_created_gmt property to orders endpoint (https://github.com/woocommerce/woocommerce-admin/pull/2086)
* Add date_created_gmt property to orders enpoint

* Make date_created properties of type date-time and improve descriptions
2019-06-12 11:21:56 +02:00
Paul Sealock dbd536c7a3 Settings: Add default date 2019-06-12 11:40:21 +12:00
Albert Juhé Lluveras 5d01cee56c Add progress bars to Historical Data Import screen (https://github.com/woocommerce/woocommerce-admin/pull/2312)
* Hook up import/status endpoint to Historical Data Import screen

* Fix PHP tests

* Add speak message when the import is complete

* Several fixes

* Cleanup

* Update progress bars every 3 seconds and bugfixes

* Rename ongoingImport to activeImport

* Use timestamp to identify queries

* Use timestamps for historical data state

* Add 'initializing' status

* Cleanup

* Pass less props around

* Refactor getStatus

* Set stop timestamp on request error

* Typo
2019-06-11 14:47:53 +02:00
Justin Shreve 821408fc83 Add Muriel/Newspack components for use in onboarding (https://github.com/woocommerce/woocommerce-admin/pull/2313)
* Add Muriel/Newspack components for use in onboarding

* Adjust some alignment
2019-05-28 10:05:55 -04:00
Joshua T Flowers 5e8509edd3 Onboarding: Add profiler body class on initial load + respect skipped/completed flags (https://github.com/woocommerce/woocommerce-admin/pull/2300) (https://github.com/woocommerce/woocommerce-admin/pull/2318)
* Add profiler body class on initial load, and respect skipped/complete status.

* Handle PR feedback: Remove unnecessary global, add some todos, added a filter around the next step slug, generalized the is-loading class a bit.
2019-05-28 06:38:01 -04:00
Joshua T Flowers cda83b4509 Onboarding - Add shared step actions and step 1 actions (https://github.com/woocommerce/woocommerce-admin/pull/2283)
* Add method to go to next profiler step in step controller

* Add method to update profile params in step controller

* Add action methods to step 1 in the profiler

* Allow JSON body params for profile controller

* Use JSON body params in onboarding profile tests
2019-05-28 11:09:48 +08:00
Paul Sealock f9bad3646d Persisted Queries: Avoid non-time related screens 2019-05-24 08:38:52 +12:00
Jeff Stieler 0d863ae7a6 Exclude auto-draft and trashed orders from imports. 2019-05-20 13:51:44 -06:00
Mike Jolley 79373b062c Merge branch 'master' into update/refactor-main-file 2019-05-16 14:20:13 +01:00
Joshua T Flowers 8a03b1bfb3 Add onboarding profile REST endpoints (https://github.com/woocommerce/woocommerce-admin/pull/2217)
* Add onboarding profile endpoint to get profile data

* Add onboarding profile update endpoint

* Add onboarding profile endpoint tests

* Update onboarding API namespaces
2019-05-16 13:05:37 +08:00
Mike Jolley 254e378346 Moved actionsheduler hook to main file 2019-05-14 19:19:24 +01:00
Ron Rennick 6780ae0136 update unit tests for new customer count 2019-05-13 14:14:53 -03:00
Joshua T Flowers fb91cd8788 Add import status endpoint and progress options (https://github.com/woocommerce/woocommerce-admin/pull/2189)
* Update import progress during batches

* Add import status route for querying import progress

* Update import totals before import start

* Move wc admin notes to separate action scheduler group

* Add import totals route to query customer and order totals

* Add wc helper queue job processing method

* Add import status and total tests

* Separate action type clearing for imports and notes

* Typecast action types as array in clear_pending_wcadmin_actions()
2019-05-13 10:30:07 +08:00
Joshua T Flowers c6a6e737c4 Add refund filtering to order reports (https://github.com/woocommerce/woocommerce-admin/pull/2179)
* Add customer functions to order and refund classes

* Extract shared order and refund methods to trait

* Add refund filter to advanced filters in orders report

* Filter refund types in orders data store

* Extract refunds subquery to parent report data store method

* Add refund subquery filtering to order stats data store

* Add tests around refund type filtering

* Change the default option for the refunds filter
2019-05-10 14:56:57 +08:00
Joshua T Flowers 3382fb7011 Record refunds separate from order entries (https://github.com/woocommerce/woocommerce-admin/pull/2083)
* Sync refunds on order sync

* Separate order and refund class extensions

* Add customer functions to order and refund classes

* Change products store to work with refund amounts

* Return early for refunds in coupon data store

* Allow refund processing in tax data store

* Remove unused refund amounts from tables and data stores

* Change order counts to parse out refund entries

* Include refunded orders in default queried statuses

* Only process order number filter on shop order post types

* Extract shared order and refund methods to trait

* Fix renamed schedule_single_order_import method

* Bump PHP and WP version requirements
2019-05-10 14:39:25 +08:00
Jeff Stieler a36e3cd024 Merge pull request woocommerce/woocommerce-admin#2034 from woocommerce/add/1850-import-endpoint
Add import endpoint and controller
2019-05-01 13:29:00 -06:00
Joshua Flowers 63c59a1f72 Update batch test function names and constants 2019-04-30 17:39:02 -06:00
Joshua Flowers 591c66995d Add tests for delete endpoint 2019-04-30 17:39:01 -06:00
Jeff Stieler f9c1b130c3 Add extra verification to import cancel endpoint test. 2019-04-30 10:38:07 -06:00
Joshua Flowers 61492c5f10 Add import cancel tests 2019-04-30 10:17:09 -06:00
Jeff Stieler a3fdd72ba5 Merge pull request woocommerce/woocommerce-admin#1907 from woocommerce/fix/1615-order-number-filter
Support Sequential Order Numbers in Downloads Report order number filter
2019-04-30 10:10:39 -06:00
Jeff Stieler 4a85b012b5 Add tests for customer import using new parameters. 2019-04-30 09:46:14 -06:00
Jeff Stieler 3bfc53c9cf Reintroduce the customer lookup init to report regeneration.
With the new date range and “skip existing” logic.
2019-04-30 09:17:12 -06:00
Joshua T Flowers 53a4098de1 Fix missing leaderboard schema options (https://github.com/woocommerce/woocommerce-admin/pull/2059)
* Add missing schema properties

* Add missing leaderboard schema tests
2019-04-26 10:43:52 -07:00
Kelly Dwan 18bb29e35d Fix warnings in travis: CSS lint error & phpunit warning (https://github.com/woocommerce/woocommerce-admin/pull/2109)
* Fix stylelint issue

* Use WC_Helper_Order to create the order, which will correctly populate customer info
2019-04-25 10:22:57 -04:00
Joshua T Flowers c17baa02cd Encode and decode persited query as JSON string in the leaderboards controller (https://github.com/woocommerce/woocommerce-admin/pull/2100)
* Encode and decode persited query as JSON string in leaderboards controller

* Update peristed query tests to use JSON string
2019-04-24 04:38:49 +08:00
Joshua Flowers 7a41da3058 Bust cache for orders query in import tests 2019-04-12 16:50:43 +08:00
Joshua Flowers 5838e2ab48 Add import controller tests 2019-04-12 16:50:42 +08:00
Joshua T Flowers e31be343e2 Make customer name extendable (https://github.com/woocommerce/woocommerce-admin/pull/1976)
* Make customer name extendable

* Update get_customer_name to favor user profile information

* Update customer name on profile update

* Add tests around customer name getting and setting

* Prefix customer name filter with woocommerce_reports_
2019-04-09 11:39:39 +08:00
Joshua T Flowers f682fe76be Add leaderboard controller and endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1995)
* Add leaderboard controller and endpoint

* Add existing leaderboard stats to leaderboard endpoint

* Add persisted query to leaderboard params

* Add leaderboard endpoint tests

* Check if extended_info params are set before assigning

* Change number param input format to mixed inside wc_admin_number_format
2019-04-09 11:34:56 +08:00
Joshua T Flowers 753780bf7b Onboarding: Add levels REST API (https://github.com/woocommerce/woocommerce-admin/pull/1938)
* Add levels rest controller

* Add default levels

* Add onboarding level API tests

* Drop all since tags

* Make pre-response levels array associative for easier formatting

* Fix level tests for associative array
2019-04-05 10:35:30 +08:00
Ron Rennick b384571afe Merge pull request woocommerce/woocommerce-admin#1984 from woocommerce/phpcs/tests
phpcs fixes class-wc-tests-reports-orders-stats.php
2019-04-03 10:21:38 -03:00
Joshua T Flowers 0c5c1c3db4 Remove coupon_total from order stats table (https://github.com/woocommerce/woocommerce-admin/pull/1975)
* Remove coupons_total from order stats table

* Replace discount amount with coupon objects in stat tests
2019-04-03 09:37:17 +08:00
Ron Rennick 26b5ba2b89 phpcs fixes class-wc-tests-reports-orders-stats.php 2019-04-02 16:22:55 -03:00
Joshua T Flowers 9c3faea12f Refactor notes controller and add ordering params (https://github.com/woocommerce/woocommerce-admin/pull/1878)
* Separate notes controller request args and add collection params

* Fix page param var

* Fix collection params sanitization

* Allow array of note types to be queried

* Add order and orderby collection params to notes controller

* Allow sorting by order and orderby params in notes data store

* Make sure notes are ordered by date and unread matches inbox note types

* Allow status or type params to use an array of items

* Add tests for notes ordering

* Remove unnecessary query arg assignment in the notes data store

* Update get_notes_count to use array for status and type
2019-04-01 10:53:34 +08:00
Joshua T Flowers 42ddfc0108 Add coupons count to data store and hook up to summary numbers in orders report (https://github.com/woocommerce/woocommerce-admin/pull/1912)
* Change coupons sum to distinct coupon count in REST API

* Hook up unique coupon count to orders summary numbers

* Add coupons count to order segmenting

* Add coupons count to expected stats in order test and revenue tests
2019-04-01 10:16:57 +08:00
Jeff Stieler 164a55b0d2 Allow strings in downloads report order number filter. 2019-03-26 16:04:36 -06:00
Jeff Stieler 7742a7d65e Add test coverage for “unsnoozing” notes. 2019-03-20 08:52:27 -06:00
Jeff Stieler 2a08ba20e8 Add a snoozed note to test data. 2019-03-20 08:52:27 -06:00
Albert Juhé Lluveras e6cf40e3f0 Allow sorting by tax_code in Taxes report (https://github.com/woocommerce/woocommerce-admin/pull/1812) 2019-03-15 21:44:03 +01:00
Jeff Stieler bfe5a75e98 Update text domain. (https://github.com/woocommerce/woocommerce-admin/pull/1795)
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.

* Fix .pot file generation.

* Fix errantly closed array item in /revenue/stats controller.

* Rename plugin zip, main file, and repo name to "woocommerce-admin".
2019-03-13 11:14:02 -06:00
Justin Shreve 1348245406 Add store notice around processing historical data. (https://github.com/woocommerce/woocommerce-admin/pull/1763)
* Add store notice around processing historical data.

* Cleanup

* Handle PR feedback.

* Clean up `add` logic and add empty content_data. Also add logic to get_notes_count so that we can hide unactioned statuses.

* Add the ability to update a note, and to also mark a status when an alert is clicked.

* Remove mark_actioned call on sync

* add missing todo
2019-03-12 09:13:20 -04:00
Albert Juhé Lluveras 6c9b96f49a Make variations and coupons endpoints return zero-value items (https://github.com/woocommerce/woocommerce-admin/pull/1765)
* Make categories endpoint return zero-value items

* Rename PHP variable to make it more specific

* Remove uneeded lines

* Make variations and coupons endpoints return zero-value items

* Remove second parameter from get_ids_table
2019-03-12 11:11:28 +01:00
Albert Juhé Lluveras d3230d8dae Make categories endpoint return zero-value items (https://github.com/woocommerce/woocommerce-admin/pull/1755)
* Make categories endpoint return zero-value items

* Rename PHP variable to make it more specific

* Remove uneeded lines

* Remove second parameter from get_ids_table
2019-03-12 10:50:53 +01:00
Albert Juhé Lluveras cf162dda7f Taxes report: sort tax rates numerically instead of alphabetically (https://github.com/woocommerce/woocommerce-admin/pull/1766)
* Taxes report: sort tax rates numerically instead of alphabetically

* Use DECIMAL(7,4) for tax_rate sorting
2019-03-12 10:31:19 +01:00
Jeff Stieler a50a9bccb1 Ensure that other scheduled actions are claimed before WC Admin actions. (https://github.com/woocommerce/woocommerce-admin/pull/1759)
* Use menu_order to lower the claim priority of WC Admin scheduled actions.

* Use a ActionScheduler_Store subclass to modify menu_order.

* Check to make sure we’re overriding only AS’s built in WP Post data store.
2019-03-08 11:59:32 -07:00
Albert Juhé Lluveras d2c0dd5555 Make products and rates endpoints return zero-value items (https://github.com/woocommerce/woocommerce-admin/pull/1722)
* Make products endpoint return zero-value items

* Make rates endpoint return zero-value items

* Several fixes

* Add tests

* Simplify code

* Merge both queries into one to simplify code

* Rename 'get_outer_from_sql_params' to 'get_from_sql_params'
2019-03-06 12:36:43 +01:00
Peter Fabian 99e88706ad Merge pull request woocommerce/woocommerce-admin#1681 from woocommerce/fix/1476-2
Updated is_returning_customer definition to use refactored function.
2019-03-05 13:00:07 +01:00
Justin Shreve fce16ade7a Display order number on reports (https://github.com/woocommerce/woocommerce-admin/pull/1706)
* Display order number on reports, and add to API response.

* Add method for getting order number, avoiding loading the data store if no filter is attached.
2019-02-28 09:14:21 -05:00
Ron Rennick 6969f841fa update unit tests for batch group 2019-02-25 09:34:59 -04:00
Peter Fabian 43e49ca704 Added test for registered customer. 2019-02-23 00:03:53 +01:00
Peter Fabian 4668734af7 Removed debugging var from test. 2019-02-23 00:02:40 +01:00
Peter Fabian 3ce686e6cd Updated is_returning_customer definition to use refactored function. 2019-02-22 22:06:21 +01:00
Joshua T Flowers aef11ef586 Refactor customer ID creation (https://github.com/woocommerce/woocommerce-admin/pull/1619)
* Fix indendtation for table creations

* Refactor how customers are created on order update

* Check if user has a role of customer or previous orders before storing

* Add tests for user creation

* Allow null emails for customers

* Only select customer_id in guest ID query
2019-02-20 10:30:00 +08:00
Joshua T Flowers 44604bcd02 Reduce net order total by refunded amount less tax and shipping refunds (https://github.com/woocommerce/woocommerce-admin/pull/1600)
* Reduce net order total by refunded amount less tax and shipping refunds

* Fix net_totals in tests with refunds
2019-02-20 09:39:42 +08:00
Justin Shreve 4f64358c8e Fix customer filters and download user filtering (https://github.com/woocommerce/woocommerce-admin/pull/1618)
* Add the ability to search name, username, and email fields on the customer endpoint, update autocompletors, add in include parameter.

* Update the username to be returned in the download response, update download filtering based on customer id, and only rename include parameter on main customers endpoint.
2019-02-19 14:35:29 -05:00
Joshua T Flowers f0ec3c49a1 Add tax refund calculations (https://github.com/woocommerce/woocommerce-admin/pull/1556)
* Add item and shipping refund calucations to taxes on order update

* Sync taxes on refund delete

* Fix up tax stats API testing

* Add refunds to tax stats API tests
2019-02-18 10:20:16 +08:00
Ron Rennick e2b220bb54 Merge pull request woocommerce/woocommerce-admin#1570 from woocommerce/phpcs/tests
Phpcs sniff fixes for unit tests
2019-02-15 14:50:50 -04:00
Peter Fabian f7d0d2379f Merge branch 'master' into fix/489-date_date_gmt
# Conflicts:
#	includes/class-wc-admin-api-init.php
2019-02-15 17:07:38 +01:00
Joshua T Flowers cba9ab61b2 Update returning customer values to respect excluded statuses (https://github.com/woocommerce/woocommerce-admin/pull/1557)
* Excluded statuses from customers oldest orders

* Fix tests for returning customer where excluded statuses are used

* Remove save_post hook used for testing

* Extract conditions for first order swapping
2019-02-15 10:09:16 +08:00
Ron Rennick 767b047f4b phpcs for admin-notess.php 2019-02-14 19:20:47 -04:00
Ron Rennick 45acf57c22 phpcs for product-reviews.php 2019-02-14 19:19:22 -04:00
Ron Rennick 7a255d7490 phpcs for products.php 2019-02-14 19:18:34 -04:00
Ron Rennick b69f8fdbf2 phpcs for reports-customers-stats.php 2019-02-14 19:17:05 -04:00
Ron Rennick e91f7f6d00 phpcs for reports-customers.php 2019-02-14 19:14:43 -04:00
Ron Rennick cd1fdef99d phpcs for reports-download-stats.php 2019-02-14 19:13:18 -04:00
Ron Rennick a89083077e phpcs for reports-interval.php 2019-02-14 19:12:15 -04:00
Ron Rennick db568ec9af phpcs for report-order-stats.php 2019-02-14 19:11:17 -04:00
Ron Rennick ece6fb1a91 phpcs for report-performance-indicators.php 2019-02-14 19:08:25 -04:00
Ron Rennick 8ce7af9f61 phpcs for report-stock-stats.php 2019-02-14 19:06:11 -04:00
Ron Rennick 7910e76d8c phpcs for bootstrap.php 2019-02-14 19:04:30 -04:00
Ron Rennick 58cfde18a4 phpcs print_R use in class-wc-tests-reports-order-stats.php 2019-02-14 18:54:45 -04:00
Ron Rennick 12c42c7967 phpcs for class-wc-tests-reports-orders-stats.php except print_r 2019-02-14 17:14:52 -04:00
Ron Rennick 16c5cf8c77 phpcs for class-wc-tests-reports-revenue-stats.php 2019-02-14 16:34:38 -04:00
Justin Shreve 24301e0090 Add stock stats endpoint and hook up to the stock report. (https://github.com/woocommerce/woocommerce-admin/pull/1535)
* Add stock stats endpoint and hook up to the stock report.

* Handle PR feedback
2019-02-13 22:31:27 -05:00
Joshua T Flowers 746d062f09 Check and update customer first orders to fix returning_customers (https://github.com/woocommerce/woocommerce-admin/pull/1517)
* Add get_oldest_orders function to customer data store

* Check if is first order in is_returning_customer()

* Check if the customers first order has changed and update all orders respectively

* Fix check for empty oldest_orders array

* Change avg_items_per_order to number instead of integer

* Fix failing tests for new/returning customers

Only the first orders with product 1 and without coupons should be new per each customer

* Remove sleep functions from tests

* Assign second order to a variable for legibility

* Fix second order assignment and check if set
2019-02-14 11:14:01 +08:00
Jeff Stieler c862de29d3 Merge pull request woocommerce/woocommerce-admin#1534 from woocommerce/fix/1455-customers-report-name-search
Hook up customers report table search box
2019-02-13 13:55:47 -08:00