* 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'
* 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
* 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
* 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
* 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>
* 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>
* 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
* 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
* 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
* 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
* 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.
* 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.
* 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>
* 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
* 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.
* 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
* 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.
* 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
* 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
* 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
* 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>
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.
* 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
* 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
* 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
* 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.
* 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
* 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
* 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
Fixeswoocommerce/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.
* 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>
* 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>
* 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>
* 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
* 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>
* 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
* 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
* Add a new note about the variable product when the owner adds the first product
* Attempt to add a new note when a product gets published
* Change logic to check only post status and type
* Add tests cases
This fixeswoocommerce/woocommerce-admin#5287
Major changes:
1. The `<Form>` component (which is a published component) gets a new optional prop (so its backward compatible), called `onChangeCallback`. This is called when any form value changes, allowing the controlling component to act on individual form changes. This was needed to utilise `<Form>` to revalidate and check if the user could access the next tab. This should not impact existing usages of the `<Form>`, but it could be good to test this.
2. Introduces a new flow for choosing business extensions that was specified in woocommerce/woocommerce-admin#5287 issue description. Please check the issue for reviewing the designs. The simplest way to implement this, ended up being keeping the existing flow intact and where necessary copy pasting code from those components into the new flow. This new flow is only shown if your segmentation matches the following: `Stores that selected the US as the country and Other or Food & Drinks as the industry
* 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
* Add product attributes autocomplete for Search control.
* Support single selection in Search component.
* Fix SelectControl input after selection in single mode.
* Remove label from Search component's inner SelectControl.
Placeholder is the behavior we want to avoid label and selection collision.
* Match Search component selected prop to SelectControl.
It's passed through anyhow.
* Rework attribute filter to use new endpoints for custom terms.
* Hook up custom attribute filter to report queries.
* Fix errant space in filter name.
* Fix SelectControl active status when control is disabled.
* Fix SelectControl "has tags" logic for non-multiple use cases.
* Fix attribute filter screen reader text.
* Update changelogs.
* Move custom attribute test to it's own function.
* Remove SelectControl input disabling.
This was supposed to improve keyboard behavior for non-multiple controls, but it was questionable.
* Fix backspace in attribute term field.
* Add new product attributes endpoint that allows searching.
Including custom attributes in the results.
* Add endpoint to fetch custom attribute values by slug.
* Add initial tests for Product Attributes endpoint.
* Test Product Attribute search.
* Fix schema/params for attribute terms endpoint.
* Add tests for custom term values endpoint.
* Add a LIMIT to the attributes query.
* Add endpoint to retrieve single attribute by slug.
Fixes the 'self' link.
* Create get last order function that does not rely on Wordpress user, and add test for use case
* Add change log
* Make sure tests use the right index for comparison
* Order by date_created_gmt first and order id second, and wrote test for get_last_order
* Fix test assertion, and remove unnecessary parameter
* Hide shipping cost task if user has disabled shipping
* Add countries array to dataEndpoints
* Export the presentational component so that it can be tested
* Add a test for the shipping component
The wc-analytics/reports/orders and /wc-analytics/reports/orders/stats endpoints have inconsistent parameter names for filtering the customer type: customer_type vs customer.
This was affecting the Customer Type filter in the orders analytics, reported in issue woocommerce/woocommerce-admin#5803, where the component expects the parameter names to be the same. This is because it uses a parameter name based on the key in the filter configuration (customer_type).
To resolve this, this PR updates /wc-analytics/reports/orders/stats to accept both customer_type and customer as parameter names for this filter. The customer parameter has however been deprecated in its description to discourage usage.
Co-authored-by: Sam Seay <samueljseay@gmail.com>