Fixes a bug that allowed to create a coupon with code "0" but prevented if from being actually used. With the fix a coupon with code "0" can be used as any other coupon.
Also adds two new methods to the StringUtil class: `is_null_or_empty` and `is_null_or_whitespace`.
Closes#35210.
* First pass at updating release test workflow
* Add changelog
* Set dir env variables
* Update to workflow
* Fix indent
* Fix indent
* Clean up indent
* Re-order steps
* Change order of jobs
* Added common php versions
* Update pipeline
* Update some labels
* Simplify for testing
* Update paths
* Create tmp folder
* Fix path
* Paths
* Try outputting some debugging
* Add step ID back
* Remove working directory
* Another path tweak
* Add API release tests
* Add k6 tests
* Add PHP tests
* Launch wp-env during PHP tests
* Try default values
* Tweak some settings, add WP testing
* Tweak some settings
* Re-order e2e steps
* Update step descriptions
* Reorganize tests, add plugin tests
* Enable only e2e job
* Initial set up to run against release smoke test site
* Fix syntax
* Temporarily disable update wc spec
* Temporarily disable downloading woocommerce zip
* Download release zip using tag name
* Fix wrong job name
* Fix wrong job name
* Fix dir
* Delete fetch-asset-id.js
* REfactor update-woocommerce spec
* Add error handling
* Download release zip by tag
* Refactor update woo spec to download zip by tag
* Correct job name
* fail test on invalid tag
* Enable all e2e tests
* Run api tests before e2e tests
* Fix job dependency
* Add customer credentials to api job
* Separate job for WC Update
* Combine e2e allure-results, then report
* Enable report job
* Fix context
* Change job and artifact names
* Use test s3 path
* Minor job name change
* Upload artifacts to bucket
* Correct s3 path
* Add quiet option
* Retain video on failures
* Finalize s3 path
* Try WP latest-1
* Revert to wp latest
* Refine search for woocommerce zip asset
* Get created-at
* Specify repo in gh command
* Slugify env description
* Trim space
* Sync with bucket instead of copy
* Remove invalid --recursive flag
* Re-add missing step to combine e2e results from update wc test
* Ensure artifact upload on test failure
* Enable all e2e tests on WP latest
* Retain existing data before updating WC
* Make test compatible with 'Canceled' and 'Cancelled'
* Set env_desc as env var
* Re-add deleted file
* Fix UPDATE_WC in daily smoke test workflow
* Add tracing in global setup
* Remove tracing
* Temporarily run only basic spec
* Job for WP Latest-1 & 2
* Fix "Required input 'created_at' not provided"
* Minor rename
* Remove install filter
* Install deps in get-wp-matrix
* Delete get-wp-versions.js
* Add get-wp-versions.js to e2e-pw folder
* REname file
* REfactor
* Refactor script for getting WP prev versions
* Update job dependencies
* Temporarily remove disabled jobs
* Allow e2e-wp-latest after api test failure
* Update L-1 & L-2 job deps
* Fix report-wp-latest
* Fix failing api test
* Make get-wp-versions quicker
* Publish report immediately after test
* Test reporting in e2e-update-wc
* Fix missing parameter
* Fix env_desc, re-enable other jobs
* Enable all e2e tests
* Minor job name change
* Fix flaky test
* Add php version testing
* stringify php versions
* Re-enable all e2e tests
* Up timeout to 2min
* Remove PHP 8.0
* Add missing conditionals
* Fix php version verification script
* Fix starting dir
* Fix flakiness
* Skip e2e if api failed
* Verify woocommerce.zip early
* Add token
* Delete test summary on github for the meantime
* Use default playwright config
* More meaningful variable names
* Update step titles based on review
* Use expect.poll()
* Minor spacing corrections
* Use `stable-check` endpoint, delete unnecessary loop
* Update locators to be JN-compatible
* Fix erroneous getting of release tag
* Fix conflict of "No thanks" button locator with that of WP Mail Logging's
* Update github-script action to v6
* Revert to 'Cancelled'
* Remove unnecessary step
* Provide missing env variables
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Add type definitions
* Add custom rendering logic to the item label
* Add stories
* Add changelog file
* Fix rebase merge issue
* Fix up stories after rebase
---------
Co-authored-by: Matt Sherman <matt@jam123.com>
* Add missing dev packages to product-editor package
* Create components folder for organization
* Move product field, section and tab slots over to product-editor package
* Move use of product slot fills to product-editor package
* Sync dependencies
* Add changelogs
* Update README's and add constant for default values
* Update README's in product-editor package
* Add `RevenueReportDateTour` component
* Add changelog
* Fix styles
* Rename RevenueReportDateTour to ReportDateTour to use it in two different reports: Orders and Revenue
* Change default sort date to date_paid
# Conflicts:
# plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php
* Update changelog
* Assign date_column_name before calling parent constructor
* Remove date_type default value from configuration and show tour only if user didn't assign a value
---------
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Nathan Schneider <nsschneider1@gmail.com>
* Remove check to skip testing instructions if needed from PR template and add final check to confirm that testing instructions were added.
* Update Pull Request template documentation to be consistent with the removal of the checkbox to skip testing instructions.
---------
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
Fixes bug introduced in PR #36087 that changes jQuery selectors for quantity input in variable products.
The previous logic is reinstated so that $qty points to the div wrapper, and $qty_input points to the input element inside.
Otherwise, as is in the current version, $qty_input is undefined and the min/max attributes are not updated.
This PR also addresses the original issue #36086 by restricting the selector of the div wrapper to only be the one containing input[name=quantity] (the .qty class filter is also kept to avoid any potential malfunctions of existing code).
* Site Health: Add WC-specific criteria for persistent object cache
WP 6.1 introduces a new test in the Site Health module for whether the
site has an external object cache, and if not, whether it would benefit
from having one. However, the criteria it uses are based largely on
posts and comments. This introduces WooCommerce-specific criteria based
on orders and products. It uses much lower numbers for the
thresholds (100 instead of 1000). These thresholds are somewhat
arbitrary, but reflect that the data objects in a WooCommerce store are
larger and more complex than in a simple blog.
* Add changelog file
* Add additional global attributes and local attributes information when saving product attributes
* Log only local attributes
Add attribute name
Fix issue with attribute_value and names selectors
* Save name and slug for global attributes and global terms
* Product editor: disable the feature in advanced Settings
until we implement the new designs.
* Maintain feature enabled for internal testing.
* Remove obsolete new lines.
* Re-enable the feature flag.
* Disable the new product experience if currently enabled.
* Add changelog
* Remove commented lines, obsolete brackets. Fix conflicts.
* Styling.
* Fix lint
---------
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>