Commit Graph

65233 Commits

Author SHA1 Message Date
Vedanshu Jain f0b637f9c4
Cache order year_months in options for performance. (#50066)
* Cache order year_months in options for performance.

* Modify to prevent unnecessary option changed.

Add unit tests.

* Add the strict type directive.

* Use exact check to use more cache instances.

* Add clean state test.

* Add namespace.

* Namespace fixes.
2024-08-13 21:32:30 +05:30
Fernando Marichal 5922b42577
Only count published products in productCount (#50503)
* Only count published products in productCount

* Add changelog

* Fix lint

* Fix lint
2024-08-13 12:28:55 -03:00
Adrian Moldovan 7a20d626d3
[e2e tests] Transform Classic Checkout: add an extra check of API response before checking the UI (#50627) 2024-08-13 17:53:07 +03:00
Bart Kalisz daa6a95b56
Metrics: Use utils provided by `@wordpress/e2e-test-utils-playwright` (#50626) 2024-08-13 15:26:47 +02:00
Adrian Moldovan f91bcf44c7
[e2e tests] Add an option to skip the env setup script when running tests (#50620)
Add the -x option to skip executing the env setup script
2024-08-13 16:03:10 +03:00
DAnn2012 3a363d232b
Fix typo (product-collection.block_theme.spec.ts) (#50154)
Co-authored-by: github-actions <github-actions@github.com>
2024-08-13 12:38:56 +01:00
Heitor Pedroso b2f5f98593
Update additional-checkout-fields.md (#50377)
* Update additional-checkout-fields.md

* Update docs-manifest.json

---------

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2024-08-13 12:03:21 +01:00
Adrian Moldovan eaa13c0151
[e2e tests] Replace hardcoded default wp-env credentials (#50617) 2024-08-13 13:54:37 +03:00
Thomas Roberts 8707e71eb3
Add additional unit tests for Store API checkout flow (#50033)
* Add virtual product to fixtures

* Add test to check virtual products can be ordered

* Add test to check orders cannot be placed with invalid payment method

* Add test to ensure orders can't be placed with out of stock items

* Add test to ensure orders can't be placed with unowned coupons

* Add test to ensure orders can't be placed coupons exceeding usage limit

* Add test to ensure that orders can be placed with coupons.

* Add changelog

* Clean up coupon management

* use correct WC case

---------

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2024-08-13 10:45:06 +00:00
Karol Manijak 8bdc78c777
Product Collection: Trigger `wc-blocks_product_list_rendered` JS event (#50166)
* Dispatch JS event about PC being rendered

* Revert format changes

* Write the callback

* Add functions descriptions

* Add changelog

* Remove empty line

* Add tests

* Rename test cases

* Replace waiting for page load with more reliable expect.poll

* Remove leftover step

Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>

* Fix typo in function name

* Add collection name to default Product Collection block

* Expect collection name in the event

* Expose the collection name through IAPI context

* Send the collection name with the event

* Trigger event also on page change

* Remove unused CUSTOM collection type

* Provide documentation

* Update TOC

* Update tests that verify the event payload

* Improve E2E tests further

* Don't add a Product Catalog collection type to default collection

* Avoid repeating the same piece of code by extracting some function on tag processor

* Rename function to better depict its purpose

* Move the documentation to the right place

* Remove the unused variable

* Add example to dom-events doc

* Update documentation

* Update docs manifest

* Attach default collection name

* Add the default collection context in PHP so it covers all the cases

* Prevent exposing product catalog collection name in event

* Update docs

* Update test

---------

Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
2024-08-13 12:29:04 +02:00
Adrian Moldovan 7802209887
[e2e tests] Update locators for Customers page in page-loads spec (#50559) 2024-08-13 12:04:41 +02:00
Bart Kalisz 03049e0d17
Fix Metrics job (#50482) 2024-08-13 11:31:39 +02:00
Bart Kalisz 418c8f029f
Product Collection: Remove automatic migration code (#50440)
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
2024-08-13 11:29:07 +02:00
Adrian Moldovan e82f1ea98f
[e2e tests] Add hpos disabled environment and tag tests (#50448) 2024-08-13 11:28:21 +02:00
Chi-Hsuan Huang 49e11aa25b
Update add product task bottom section UI (#50580)
* Update add product task bottom section UI

* Add changelog
2024-08-13 13:02:50 +08:00
Chi-Hsuan Huang 30e3e3cd6d
Fix navigation badge decreases when installing extension in "Grow your business task" (#50584)
* Fix update badge logic

* Add changelog

* Fix lint
2024-08-13 11:50:12 +08:00
Chi-Hsuan Huang 701a5cbb60
Update Continue button container on core profiler extension screen (#50582)
* Update core profiler continue button container

On desktop screens 900px and smaller, add a 140px tall container stuck to the bottom of the viewport
Add a transparent to solid white gradient to the container (top to bottom)
Vertically center align the continue button and dislaimer text inside the container

* Add docs

* Update style
2024-08-13 11:49:07 +08:00
Chi-Hsuan Huang af75166a07
Fix the spacing between the "Set up my store" button and TOS is too tight on small desktop screens (#50579)
Fix core profiler set up my store button and TOS are too close to each other
2024-08-13 11:48:05 +08:00
Chi-Hsuan Huang 770730272c
Clean up unused images in `./assets/image` folder (#50516)
* Clean up unused images

* Add changelog
2024-08-13 11:47:50 +08:00
Moon 9ff42c8b09
Exclude privacy page from the store pages -- it is a core page (#50608)
* Exclude privacy page from the store pages -- it is a core page

* Add changefile(s) from automation for the following project(s): woocommerce

* Remove privacy page deletion in unit test

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-08-13 11:34:18 +08:00
Moon 0468bdbe82
blueprint - add php package and cli commands (#49763)
* Add blueprint package

* Add blueprint to composer

* Register blueprint cli commands

* Add feature flag

* Add changefile(s) from automation for the following project(s): woocommerce

* Update packages/php/blueprint/src/Exporters/HasAlias.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update packages/php/blueprint/src/Exporters/ExportInstallThemeSteps.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update packages/php/blueprint/src/UseWPFunctions.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Set destination correctly

* Make sure the given path is within wp content dir

* Remove debug code

* Fix typo

* Fix typo

* Fix lint errors with README

* Move READMD.md from src to the root directory and add development.md

* Add run-unit-tests.sh

* Setup test env

* Create dirs recursively

* Remove debug code

* Update packages/php/blueprint/src/Util.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update packages/php/blueprint/src/ZipExportedSchema.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Check for steps key

* Use if statement

* Add hook comment for wooblueprint_exporters and wooblueprint_importers

* Fix plugin activation condition

* Check for download_link -- it can be empty

* Check to make sure a file was written

* Plugin must be deactivated before attemping to delete it

* Lint fixes

* Lint fixes

* blueprint - add rest api (#49765)

* Add blueprint rest api endpoint

* Rename process to import

* Add changefile(s) from automation for the following project(s): woocommerce

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Remove unavailable 2nd argument from get_param -- default values are already set from the rest api def.

* blueprint - add builder page  (#49774)

* Add blueprint builder page

* Change to the correct endpoint

* Add changefile(s) from automation for the following project(s): woocommerce

* Note that the builder intro page is temporary

* Remove unused code

---------

Co-authored-by: github-actions <github-actions@github.com>

* blueprint - add blueprint settings page (#49775)

* Add blueprint settings page

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>

* Fix broken test

* Lint fixes

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update unit test env

* Added composer scripts to setup and run tests
* Moved tests to Unit dir to make space for Integration tests later

* WIP Add tests

* Use full if statement

* Use the correct step names

* Use activate_plugin and wp_get_thmes from wp functions trait

* Skip inactive plugins

* Use plural for collections

* Add a comment for StepExporter

* Remove unused construct code

* Correct function return types

* Update packages/php/blueprint/src/Importers/ImportActivateTheme.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Use full if statement

* Make sure plugin is installed

* Use functions from trait

* Remove unused functions

* Pass $force_convert correctly

* Correctly assign $this->validator

* Fix lint issues

* Rename setOptions to setSiteOptions

* Do not use die() -- throw an exception instead

* Make sure slug is a valid WP plugin slug

* Remove hardcoded string with get_step_name()

* Fix lint issues

* Update json example files

* Removed woo-specific examples -- these should be placed in the core
* Updated the built-in steps to reflect the recent changes

* Update packages/php/blueprint/src/docs/json-examples/deletePlugin.json

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Rename to correct filename

* Set version number

* Use mime_content_type for checking mime type

* Catch all exceptions

* Only allow zip and json

* Remove unused function

* Remove unused functions

* Add PHPCS command and ruleset

* PHP lint fixes

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Add back removed functions

* blueprint - Add woo blueprint exporters and importers (#50057)

* Add woo blueprint exporters and importers

* Comment fix

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Add a test for ImportSetWCTaxRates

* Lint fixes

* Lint fixes

* Fix setWCShipping schema and data format

* Add woocommerce_default_country option

* Lint fixes

* Fix typo -- it should be decode, not encode

* Fix incorrect argument order

* Fix typo

* Export and import shipping method settings

* Lint fixes

* Lint fixes

* Type functions -- base PR has changed

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Require admin for import and export

* Use mime type from $_FILES -- mime_content_type can return incorrect mime type depending on the system configuration

* Enable export button when backend errors out

* Enable export button when backend errors out

* Allow WooCommerce export

* Change copy text

* Remove redundant check

* Fix lint issues

* Fix lint issues

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2024-08-12 16:33:05 -07:00
Paul Sealock cbfda08537
[Beta Tester] Fix build step (#50518)
* build project as well

* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-13 11:17:33 +12:00
Paul Sealock 6fcc0f8490
[Remote Specs] Treat empty arrays as valid cached values (#50521) 2024-08-13 09:23:59 +12:00
Corey McKrill d569c419b2
wp-env: Update package dependency + add mysqlPort (#50568)
* wp-env: Update package dependency + add mysqlPort

Starting in v10.1.0, wp-env can take a `mysqlPort` property in both
`env.development` and `env.tests` objects, which allows you to specify
the database connection port. This port is otherwise randomly assigned
every time you start up the containers. This allows for having a more
consistent development environment.

* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* Further update to pnpm lock file
2024-08-12 12:56:49 -07:00
Maikel Perez 640a6ca439
CheckboxList and CheckboxControl: Label htmlFor and Input id should be unique (#50566)
* Extract the checkbox list option logic into its own component
This allows to generate a dynamic id per option so it never repeats in the entire document.

* Add changelog file

* Move CheckboxListOptionControl to its own file

* Add value to the checkbox control to be aligned with the native input type=checkbox element. And also use it to get the correct checkbox by value in unit tests

* Because checkboxes not longer have fixed ids, now we use their value to lookup for them instead

* Updating snapshots since the checkboxes ids are now autogenerated
2024-08-12 12:33:17 -04:00
Paulo Arromba ddbb24e021
Fixed the order of elements on the Order Confirmation screen (#50592)
* Fixed the order of elements on the Order Confirmation screen

* Added changelog

* Linting.

* Add wrapper around account notices

---------

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2024-08-12 16:34:09 +01:00
Nathan Silveira f7595c6725
Add pattern validation for global_unique_id (#50501)
* Add validation for global_unique_id in classic editor

* Fix an issue with validations in the text block

* Replace everything that is not number or hyphen in the product API

* Add pattern validation in the product and variation templates

* Add changelogs

* Increment regex to also accept empty string

* Fix e2e test

* Update update-stricter-global-unique-id
2024-08-12 08:27:06 -03:00
Chi-Hsuan Huang 9bc69246ff
[Beta Tester] Flush cache after deleting option and resetting PHP rate limit (#50512)
* Flush cache after deleting option and resetting PHP rate limit

* Add changelog
2024-08-12 18:05:01 +08:00
Nathan Silveira 9297409c5a
Clear global_unique_id when restoring a product with an existing global_unique_id (#50496)
* Clear global_unique_id when restoring a product that doesn't have an unique id

* Check if product exists before calling methods
2024-08-10 07:16:07 -04:00
Naman Malhotra 10bc399c07
Fix failing tests for canonical extensions due to 49583 (#50519)
Revert the addition of a new parameter in the woocommerce_product_set_stock hook, which was causing unit tests to fail in some extensions.
2024-08-09 15:08:23 -07:00
Alex Jones cc9d558a31
Fix emptying cart issue for custom order statuses (#44515)
* fix: add filter for pre payment order statuses

* chore: resolve linting issue

* chore: remove comment

* chore: add filter comment block

* chore: resolve linting issue

* fix: replace pre payment status filter with clear cart boolean filter

* chore: resolve linting issue

* refactor: remove double negation in check

Co-authored-by: Leif Singer <github.2017@singer.sh>

* tweak changelog message

* rename changelog file

* tweak changelog format

* fix: rework wc_clear_cart_after_payment to clear the cart at the end

* fix: remove order as param for clear cart after payment filter

* Linting/whitespace.

* fix: add after payment flag to prevent calling filter unnecessarily

---------

Co-authored-by: Leif Singer <github.2017@singer.sh>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-08-09 12:18:21 -07:00
Naman Malhotra c8c8a6a56d
Fix: Allow verified parameter to be set by REST API request (#50525)
* Rest API  product review the verified parameter is not working

* added changelog

---------

Co-authored-by: 79mplus Admin <36501099+79mplus-admin@users.noreply.github.com>
2024-08-09 12:14:59 -07:00
github-actions[bot] 27cc2028f9
Delete changelog files based on PR 50507 (#50562)
Delete changelog files for 50507

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-08-09 11:05:59 -07:00
Moon c2390f4633
Remove jetpack-boost (#50378)
* Update Jetpack logic

* Removed use of jetpack-boost -- we no longer run the experiment
* Jetpack should be considered as selected if it is already installed

* Add changefile(s) from automation for the following project(s): woocommerce

* removed jetpack check because it's already checked prior

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: rjchow <me@rjchow.com>
2024-08-09 10:58:52 -07:00
Adrian Moldovan 3eabb3eb6b
[testing workflows] Include more paths in changes lists (#50399) 2024-08-09 23:24:35 +07:00
RJ e770aef3fe
fix: wcadmin react18 createroot print shipping banner (#48831)
Co-authored-by: André Kallehauge <3846700+kallehauge@users.noreply.github.com>
2024-08-09 17:57:24 +02:00
Luigi Teschio 3425a2c017
Product Gallery: add defensive check (#50495)
* Product Gallery: add defensive check

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-09 17:52:32 +02:00
Luigi Teschio 1fbfa83fb4
CYS: Improve opt in flow (#50529)
* CYS: Improve opt in flow

* Add changefile(s) from automation for the following project(s): woocommerce

* fix import

* fix imports and remove not used functions

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-09 17:44:10 +02:00
Mike Jolley 1160414b14
Checkout: Fix display of coupon removal notices (#50412)
* Replace receiveCartContents with thunk which handles errors

* Avoid notice dismissal when pushing changes

* Update coupon error messaging for store API requests

* Changelog

* Undo thunks import change

* Remove unused removeAllNotices
2024-08-09 16:28:18 +01:00
Brian Taylor 062b161525
Update docs links blocks documentation (#50239)
* Update "Learn More" docs link for incompatible extensions

* Update links to blocks documentation

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Remove Unnecessary changelog message

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Delete unneeded changelog file

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-09 16:27:04 +01:00
Tom Cafferkey 16ef869587
CYS: Revert Zoom Feature (#50535)
* Revert "CYS: E2E Tests for device and zoom toolbar (#50436)"

This reverts commit 94f6ec5ccc.

* Revert "CYS: Fix DeviceToolbar animation (#50411)"

This reverts commit f01e945204.

* Revert "CYS: Add Zoomed Out feature (#50070)"

This reverts commit a579e866b7.
2024-08-09 16:15:06 +01:00
Adrian Moldovan 8eaa980794
[e2e tests] Update documentation to clarify the usage of dotenv files (#50530) 2024-08-09 16:19:20 +02:00
Vlad Olaru db5eb6baa6
Fix active plugins detection in multisite setups (#50417)
* Improve getting the active plugins slugs with multisite aware logic

* Use better WP function to test for active plugin

* Minor docs fixes

* test: Add a multisite test

* Add changelog

* test: Fix unit tests relying on active plugins

* test: Cleanup

* test: Add unit test for WCPay DefaultPromotions

* Lint fixes
2024-08-09 16:15:15 +03:00
RJ 90b835478b
fix: wcadmin react18 createroot marketing coupons (#48832)
Co-authored-by: Gan Eng Chin <ecgan@users.noreply.github.com>
2024-08-09 21:13:56 +08:00
Tung Du 70e54f90ca
[Experimental]Attribute Filter: Dynamic title and description. (#50234) 2024-08-09 19:57:40 +07:00
Adrian Moldovan ff347bdcd4
[testing workflow] Disable shards when re-running failed tests (#50492) 2024-08-09 13:49:19 +03:00
Moon c406f1991e
Manually init template registry and controller for non-block themes (#50507)
* Manually init template registry and cotnroller when get_query_template returns nothing

* Add changefile(s) from automation for the following project(s): woocommerce

* Validate template before including it

* Move class registration to init method

* Remove container registration from coming soon handler

* Lint

* Moved registration to register_dependencies

* Change blocks init condition to only when it's not initialized

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-08-09 18:08:02 +08:00
Tung Du 5047182efd
Product Collection: Fix: ensure the global product object is always ready for compatibility layer (#49971)
* add: method for block to declare extra block setting for registration

* update: register Product Template block with skip_inner_blocks

* chore: remove unused import

* chore: changelog

* Revert "update: register Product Template block with skip_inner_blocks"

This reverts commit 88b076bde3.

* Revert "add: method for block to declare extra block setting for registration"

This reverts commit d1545dbba5.

* fix: filter block setting for product template

* chore: changelog

* Revert "chore: remove unused import"

This reverts commit 0f8f66bad1.
2024-08-09 16:37:45 +07:00
Tung Du aaf3046eb6
[Experimental] Product Filters Redesign: Attribute Filters: List style (#50340)
* update: new simplified markup and style

* add: editor preview

* add: show 15 items initially

* fix: render li class for checked items

* chore: naming

* chore: changelog

* update: set some preview items checked for styling purpose

* fix: only show show more button when the list is long

* chore: lint

* fix: e2e tests
2024-08-09 16:17:14 +07:00
Luigi Teschio 7e691560d4
CYS: disable zoom out on fonts/color pairs iframe (#50498)
* CYS: disable zoom out on fonts iframe

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-09 09:16:17 +00:00