diff --git a/Makefile b/Makefile
index 048b0abb..da06fcc8 100644
--- a/Makefile
+++ b/Makefile
@@ -16,16 +16,16 @@ endif
## Run a command inside an alpine PHP 8 CLI image.
## 1. Command to execute, eg: "./vendor/bin/phpcs" 2. Working dir (optional)
define execPhpAlpine
- @docker image inspect qit-cli-php-xdebug > /dev/null 2>&1 || docker build --build-arg CI=${CI} -t qit-cli-php-xdebug ./_build/docker/php83
+ @docker image inspect qit-cli-php-xdebug-pcntl > /dev/null 2>&1 || docker build --build-arg CI=${CI} -t qit-cli-php-xdebug-pcntl ./_build/docker/php83
docker run --rm \
--user $(DOCKER_USER) \
-v "${PWD}:/app" \
- -v "${PWD}/_build/docker/php83/ini:/usr/local/etc/php/conf.d/" \
+ -v "${PWD}/_build/docker/php83/ini/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini" \
--env QIT_HOME=/tmp \
--env PHP_IDE_CONFIG=serverName=qit_cli \
--workdir "$(2:=/)" \
--add-host host.docker.internal:host-gateway \
- qit-cli-php-xdebug \
+ qit-cli-php-xdebug-pcntl \
bash -c "php -d xdebug.start_with_request=$(if $(filter 1,$(DEBUG)),yes,no) -d memory_limit=1G $(1)"
endef
diff --git a/README.md b/README.md
index 02044f3a..b127d9fb 100644
--- a/README.md
+++ b/README.md
@@ -11,20 +11,20 @@
## Documentation
-For more detailed information on QIT and how to use it, refer to the [official documentation](https://woocommerce.github.io/qit-documentation/#/).
+For more detailed information on QIT and how to use it, refer to the [documentation](https://qit.woo.com/docs/).
## Quality Insights Toolkit (QIT)
Official tool to streamline the testing of plugins and themes, ensuring they meet the high standards of the Woo.com Marketplace.
- **Comprehensive Testing Suite**: Includes various tests to ensure thorough quality checks.
- - [Woo E2E Test](https://woocommerce.github.io/qit-documentation/#/test-types/woo-e2e)
- - [Woo API Test](https://woocommerce.github.io/qit-documentation/#/test-types/woo-api)
- - [Activation Test](https://woocommerce.github.io/qit-documentation/#/test-types/activation)
- - [Security Test](https://woocommerce.github.io/qit-documentation/#/test-types/security)
- - [PHPStan Test](https://woocommerce.github.io/qit-documentation/#/test-types/phpstan)
- - [PHP Compatibility Test](https://woocommerce.github.io/qit-documentation/#/test-types/phpcompatibility)
- - [Malware Test](https://woocommerce.github.io/qit-documentation/#/test-types/malware)
+ - [Woo E2E Test](https://qit.woo.com/docs/test-types/woo-e2e)
+ - [Woo API Test](https://qit.woo.com/docs/test-types/woo-api)
+ - [Activation Test](https://qit.woo.com/docs/test-types/activation)
+ - [Security Test](https://qit.woo.com/docs/test-types/security)
+ - [PHPStan Test](https://qit.woo.com/docs/test-types/phpstan)
+ - [PHP Compatibility Test](https://qit.woo.com/docs/test-types/phpcompatibility)
+ - [Malware Test](https://qit.woo.com/docs/test-types/malware)
- _Performance Tests (Work-in-progress)_
- _Custom E2E Tests (Work-in-progress)_
- **Configurable Environment**: Configurable PHP, WordPress, WooCommerce versions, and more.
diff --git a/_build/docker/php83/Dockerfile b/_build/docker/php83/Dockerfile
index c433f4be..0676b6bb 100644
--- a/_build/docker/php83/Dockerfile
+++ b/_build/docker/php83/Dockerfile
@@ -4,7 +4,10 @@ ARG CI
RUN apt-get update \
&& apt-get install -y libzip-dev \
- && docker-php-ext-install zip
+ && docker-php-ext-install zip \
+ && docker-php-ext-enable zip \
+ && docker-php-ext-install pcntl \
+ && docker-php-ext-enable pcntl
# Install Xdebug only if not in CI environment
RUN if [ "$CI" != "true" ]; then \
diff --git a/_build/docker/php83/ini/xdebug.ini b/_build/docker/php83/ini/xdebug.ini
index d71956be..fea14732 100644
--- a/_build/docker/php83/ini/xdebug.ini
+++ b/_build/docker/php83/ini/xdebug.ini
@@ -1,4 +1,3 @@
-zend_extension=xdebug.so
xdebug.client_host = host.docker.internal
xdebug.client_port = 9003
xdebug.output_dir = /app/_build/docker/php83/xdebug/output
diff --git a/_build/docker/php83/ini/zip.ini b/_build/docker/php83/ini/zip.ini
deleted file mode 100644
index b3df5138..00000000
--- a/_build/docker/php83/ini/zip.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-# Enable zip extension
-extension=zip.so
\ No newline at end of file
diff --git a/_tests/ParallelOutput.php b/_tests/ParallelOutput.php
index 719af164..7125f5d5 100644
--- a/_tests/ParallelOutput.php
+++ b/_tests/ParallelOutput.php
@@ -8,6 +8,7 @@ class ParallelOutput {
private $headers;
private $processStatus;
private $startTimes;
+ private $nonJsonOutput;
public function __construct() {
$this->rawOutput = '';
diff --git a/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-links.html b/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-links.html
deleted file mode 100644
index 9ece759a..00000000
--- a/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-links.html
+++ /dev/null
@@ -1 +0,0 @@
-This a suspicious link: https://example.com/akismet-guaranteed-spam/
\ No newline at end of file
diff --git a/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-tempalte.php b/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-tempalte.php
deleted file mode 100644
index 8362912d..00000000
--- a/_tests/malware/jetpack_scan/woocommerce-product-feeds/suspicious-tempalte.php
+++ /dev/null
@@ -1,6 +0,0 @@
-
-This file has a suspicious link
\ No newline at end of file
diff --git a/_tests/malware/jetpack_scan/woocommerce-product-feeds/woocommerce-product-feeds.php b/_tests/malware/jetpack_scan/woocommerce-product-feeds/woocommerce-product-feeds.php
index f0cf707a..b8991e68 100644
--- a/_tests/malware/jetpack_scan/woocommerce-product-feeds/woocommerce-product-feeds.php
+++ b/_tests/malware/jetpack_scan/woocommerce-product-feeds/woocommerce-product-feeds.php
@@ -8,6 +8,3 @@
if ( false ) {
eval( $_POST['foo'] );
}
-
-
-$thisIsASuspiciousLink = 'https://example.com/akismet-guaranteed-spam/';
diff --git a/_tests/tests/QITE2ETestCase.php b/_tests/tests/QITE2ETestCase.php
index 4c0e1bd4..a6e8b7b7 100644
--- a/_tests/tests/QITE2ETestCase.php
+++ b/_tests/tests/QITE2ETestCase.php
@@ -166,6 +166,13 @@ public function validate_and_normalize( string $file_path, ?callable $callback =
continue;
}
+ // Ignore containing "Maximum execution time of 30 seconds exceeded in" in E2E.
+ if ( stripos( $file_path, 'woo-e2e/' ) !== false && stripos( $debug_log['message'], 'Maximum execution time of 30 seconds exceeded in' ) !== false ) {
+ echo "Removing 'Maximum execution time of 30 seconds exceeded in' from debug_log.message\n";
+ unset( $value[ $k ] );
+ continue;
+ }
+
/*
* Normalize PHP debug logs captured during test runs.
*
diff --git a/_tests/tests/__snapshots__/MalwareTest__test_malware_jetpack_scan_woo_php_wp_6721f9775c2073c083e409914f62ed75__1.php b/_tests/tests/__snapshots__/MalwareTest__test_malware_jetpack_scan_woo_php_wp_6721f9775c2073c083e409914f62ed75__1.php
index cdeecd2b..4e7f78dc 100644
--- a/_tests/tests/__snapshots__/MalwareTest__test_malware_jetpack_scan_woo_php_wp_6721f9775c2073c083e409914f62ed75__1.php
+++ b/_tests/tests/__snapshots__/MalwareTest__test_malware_jetpack_scan_woo_php_wp_6721f9775c2073c083e409914f62ed75__1.php
@@ -41,30 +41,6 @@
},
{
"test_result_json": [
- {
- "path": "woocommerce-product-feeds\\/suspicious-links.html",
- "rule": "Suspicious.Links",
- "violations": [
- "LINES: \\n0: This a suspicious link: https:...\\n"
- ],
- "tool": "Jetpack Scan"
- },
- {
- "path": "woocommerce-product-feeds\\/suspicious-tempalte.php",
- "rule": "Suspicious.Links",
- "violations": [
- "LINES: \\n2: $link = \'https:\\/\\/example.com\\/a...\\n"
- ],
- "tool": "Jetpack Scan"
- },
- {
- "path": "woocommerce-product-feeds\\/woocommerce-product-feeds.php",
- "rule": "php_backdoor_rce_004",
- "violations": [
- "LINES: \\n8: if ( false ) {\\n9: \\teval( $_POST[\'foo\'] );\\n10: }\\n"
- ],
- "tool": "Jetpack Scan"
- },
{
"path": "woocommerce-product-feeds\\/woocommerce-product-feeds.php",
"rule": "php_suspicious_evalGlobals_001",
@@ -72,14 +48,6 @@
"LINES: \\n8: if ( false ) {\\n9: \\teval( $_POST[\'foo\'] );\\n10: }\\n"
],
"tool": "Jetpack Scan"
- },
- {
- "path": "woocommerce-product-feeds\\/woocommerce-product-feeds.php",
- "rule": "Suspicious.Links",
- "violations": [
- "LINES: \\n12: $thisIsASuspiciousLink = \'http...\\n"
- ],
- "tool": "Jetpack Scan"
}
]
}
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woorc_php74_wprc_b153920e11128a2003ccfabb5a1c2b66__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woorc_php74_wprc_b153920e11128a2003ccfabb5a1c2b66__1.php
index 068ade3a..8b4a7ec1 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woorc_php74_wprc_b153920e11128a2003ccfabb5a1c2b66__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woorc_php74_wprc_b153920e11128a2003ccfabb5a1c2b66__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 3 failed, 78 passed, 81 total | Tests: 254 skipped, 4 failed, 63 passed, 321 total.",
+ "test_summary": "Test Suites: 0 skipped, 9 failed, 81 passed, 90 total | Tests: 216 skipped, 20 failed, 94 passed, 330 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -41,14 +41,14 @@
},
{
"test_result_json": {
- "numFailedTestSuites": 3,
- "numPassedTestSuites": 78,
+ "numFailedTestSuites": 9,
+ "numPassedTestSuites": 81,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 81,
- "numFailedTests": 4,
- "numPassedTests": 63,
- "numPendingTests": 254,
- "numTotalTests": 321,
+ "numTotalTestSuites": 90,
+ "numFailedTests": 20,
+ "numPassedTests": 94,
+ "numPendingTests": 216,
+ "numTotalTests": 330,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -75,7 +75,7 @@
"Store owner can complete the core profiler": [
{
"title": "Can complete the core profiler skipping extension install",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Can complete the core profiler installing default extensions",
@@ -224,11 +224,11 @@
"tests": {
"Payment setup task": [
{
- "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
+ "title": "Saving valid bank account transfer details enables the payment method",
"status": "passed"
},
{
- "title": "Saving valid bank account transfer details enables the payment method",
+ "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
"status": "passed"
},
{
@@ -348,6 +348,32 @@
]
}
},
+ {
+ "file": "merchant\\/create-cart-block.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Cart To Cart Block": [
+ {
+ "title": "can transform classic cart to cart block",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/create-checkout-block.spec.js",
+ "status": "failed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Checkout To Checkout Block": [
+ {
+ "title": "can transform classic checkout to checkout block",
+ "status": "failed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
@@ -489,7 +515,7 @@
{
"file": "merchant\\/create-shipping-zones.spec.js",
"status": "failed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"WooCommerce Shipping Settings - Add new shipping zone": [
{
@@ -520,32 +546,57 @@
},
{
"title": "allows customer to benefit from a free Free shipping if in BC",
- "status": "pending"
+ "status": "failed"
},
{
"title": "allows customer to pay for a Flat rate shipping method",
- "status": "pending"
+ "status": "failed"
}
]
}
},
{
- "file": "merchant\\/customer-payment-page.spec.js",
+ "file": "merchant\\/customer-list.spec.js",
"status": "passed",
"has_pending": true,
+ "tests": {
+ "Merchant > Customer List": [
+ {
+ "title": "Merchant can view an empty customer list",
+ "status": "pending"
+ },
+ {
+ "title": "Merchant can view a list of all customers, filter and download",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can view a single customer",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can use advanced filters",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/customer-payment-page.spec.js",
+ "status": "failed",
+ "has_pending": false,
"tests": {
"WooCommerce Merchant Flow: Orders > Customer Payment Page": [
{
"title": "should show the customer payment page link on a pending order",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should load the customer payment page",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can pay for the order through the customer payment page",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -553,25 +604,25 @@
{
"file": "merchant\\/order-bulk-edit.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Bulk edit orders": [
{
"title": "can bulk update order status",
- "status": "pending"
+ "status": "passed"
}
]
}
},
{
"file": "merchant\\/order-coupon.spec.js",
- "status": "passed",
+ "status": "failed",
"has_pending": true,
"tests": {
"WooCommerce Orders > Apply Coupon": [
{
"title": "can apply a coupon",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can remove a coupon",
@@ -582,59 +633,59 @@
},
{
"file": "merchant\\/order-edit.spec.js",
- "status": "passed",
- "has_pending": true,
+ "status": "failed",
+ "has_pending": false,
"tests": {
"Edit order": [
{
"title": "can view single order",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order status",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order status to cancelled",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order details",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can add and delete order notes",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can load billing details",
- "status": "pending"
+ "status": "passed"
}
],
"Edit order > Downloadable product permissions": [
{
"title": "can add downloadable product permissions to order without product",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can add downloadable product permissions to order with product",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can edit downloadable product permissions",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can revoke downloadable product permissions",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should not allow downloading a product if download attempts are exceeded",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should not allow downloading a product if expiration date has passed",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -647,7 +698,7 @@
"Merchant > Order Action emails received": [
{
"title": "can receive new order email",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can receive completed email",
@@ -655,28 +706,28 @@
},
{
"title": "can receive cancelled order email",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can resend new order notification",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can email invoice\\/order details to customer",
- "status": "pending"
+ "status": "passed"
}
]
}
},
{
"file": "merchant\\/order-refund.spec.js",
- "status": "passed",
+ "status": "failed",
"has_pending": true,
"tests": {
"WooCommerce Orders > Refund an order": [
{
"title": "can issue a refund by quantity",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can delete an issued refund",
@@ -686,88 +737,88 @@
"WooCommerce Orders > Refund and restock an order item": [
{
"title": "can update order after refunding item without automatic stock adjustment",
- "status": "pending"
+ "status": "failed"
}
]
}
},
{
"file": "merchant\\/order-search.spec.js",
- "status": "passed",
- "has_pending": true,
+ "status": "failed",
+ "has_pending": false,
"tests": {
"WooCommerce Orders > Search orders": [
{
"title": "can search for order by order id",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"James\\" as the billing first name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Doe\\" as the billing last name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Automattic\\" as the billing company name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"address1\\" as the billing first address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"address2\\" as the billing second address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"San Francisco\\" as the billing city name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"94107\\" as the billing post code",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"john.doe.ordersearch@example.com\\" as the billing email",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"123456789\\" as the billing phone",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"CA\\" as the billing state",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Tim\\" as the shipping first name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Clark\\" as the shipping last name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Oxford Ave\\" as the shipping first address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Linwood Ave\\" as the shipping second address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Buffalo\\" as the shipping city name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"14201\\" as the shipping post code",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Wanted Product\\" as the shipping item name",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -1179,6 +1230,28 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/create-variable-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Variations tab": [],
+ "Variations tab > Create variable product": [
+ {
+ "title": "can create a variation option and publish the product",
+ "status": "pending"
+ },
+ {
+ "title": "can edit a variation",
+ "status": "pending"
+ },
+ {
+ "title": "can delete a variation",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/products\\/block-editor\\/disable-block-product-editor.spec.js",
"status": "passed",
@@ -1218,6 +1291,26 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/organization-tab-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "General tab": [],
+ "General tab > Create product - Organization tab": [
+ {
+ "title": "can create a simple product with categories, tags and with password required",
+ "status": "pending"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-attributes-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
"status": "passed",
@@ -1280,6 +1373,18 @@
]
}
},
+ {
+ "file": "merchant\\/users-create.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/users-manage.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "shopper\\/account-email-receiving.spec.js",
"status": "passed",
@@ -1368,11 +1473,7 @@
"tests": {
"Cart Block page": [
{
- "title": "can see empty cart block",
- "status": "pending"
- },
- {
- "title": "can add product to cart block, increase quantity, manage cross-sell products and proceed to checkout",
+ "title": "can see empty cart, add and remove simple & cross sell product, increase to max quantity",
"status": "pending"
}
]
@@ -1578,7 +1679,11 @@
"status": "pending"
},
{
- "title": "coupon cannot be used by any customer (email restricted)",
+ "title": "coupon cannot be used by any customer on cart (email restricted)",
+ "status": "pending"
+ },
+ {
+ "title": "coupon cannot be used by any customer on checkout (email restricted)",
"status": "pending"
},
{
@@ -1815,15 +1920,7 @@
"tests": {
"Mini Cart block page": [
{
- "title": "can see empty mini cart",
- "status": "pending"
- },
- {
- "title": "can proceed to mini cart, observe it and proceed to the checkout",
- "status": "pending"
- },
- {
- "title": "can see mini cart total price inclusive with tax",
+ "title": "can see empty customized mini cart, add and remove product, increase to max quantity, calculate tax and see redirection",
"status": "pending"
}
]
@@ -2033,6 +2130,19 @@
]
}
},
+ {
+ "file": "shopper\\/shop-products-filter-by-price.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Filter items in the shop by product price": [
+ {
+ "title": "filter products by prices on the created page",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/shop-search-browse-sort.spec.js",
"status": "passed",
@@ -2098,7 +2208,7 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 3 failed, 78 passed, 81 total | Tests: 254 skipped, 4 failed, 63 passed, 321 total."
+ "summary": "Test Suites: 0 skipped, 9 failed, 81 passed, 90 total | Tests: 216 skipped, 20 failed, 94 passed, 330 total."
}
},
{
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woostable_php74_wprc_2a952a960085a76868033dc54aa96159__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woostable_php74_wprc_2a952a960085a76868033dc54aa96159__1.php
index 23a8f3d2..da381d7c 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woostable_php74_wprc_2a952a960085a76868033dc54aa96159__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_delete_products_woostable_php74_wprc_2a952a960085a76868033dc54aa96159__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 2 failed, 71 passed, 73 total | Tests: 238 skipped, 4 failed, 40 passed, 282 total.",
+ "test_summary": "Test Suites: 0 skipped, 8 failed, 73 passed, 81 total | Tests: 194 skipped, 20 failed, 107 passed, 321 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -41,14 +41,14 @@
},
{
"test_result_json": {
- "numFailedTestSuites": 2,
- "numPassedTestSuites": 71,
+ "numFailedTestSuites": 8,
+ "numPassedTestSuites": 73,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 73,
- "numFailedTests": 4,
- "numPassedTests": 40,
- "numPendingTests": 238,
- "numTotalTests": 282,
+ "numTotalTestSuites": 81,
+ "numFailedTests": 20,
+ "numPassedTests": 107,
+ "numPendingTests": 194,
+ "numTotalTests": 321,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -297,14 +297,81 @@
]
}
},
+ {
+ "file": "js-file-monitor\\/monitor-js-file-number.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Keeps track of the number of JS files included on key shopper pages": [
+ {
+ "title": "Check that Shop page has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Cart has 54 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Checkout has 54 JS files",
+ "status": "passed"
+ }
+ ],
+ "Keeps track of the number of JS files on key admin pages": [
+ {
+ "title": "Check that WC Dashboard has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Reports has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Orders page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Products page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Add new product has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Analytics page has 120 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Marketing Overview has 120 JS files",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
"has_pending": false,
"tests": {
- "Add New Coupon Page": [
+ "Coupon management": [
+ {
+ "title": "can create new fixedCart coupon",
+ "status": "passed"
+ },
{
- "title": "can create new coupon",
+ "title": "can create new fixedProduct coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new percentage coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new expiryDate coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new freeShipping coupon",
"status": "passed"
}
]
@@ -353,6 +420,59 @@
]
}
},
+ {
+ "file": "merchant\\/create-restricted-coupons.spec.js",
+ "status": "failed",
+ "has_pending": false,
+ "tests": {
+ "Restricted coupon management": [
+ {
+ "title": "can create new minimumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new maximumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new individualUse coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeSaleItems coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new productCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeProductCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new products coupon",
+ "status": "failed"
+ },
+ {
+ "title": "can create new excludeProducts coupon",
+ "status": "failed"
+ },
+ {
+ "title": "can create new allowedEmails coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerCoupon coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerUser coupon",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-shipping-classes.spec.js",
"status": "passed",
@@ -409,48 +529,23 @@
]
}
},
- {
- "file": "merchant\\/create-simple-product.spec.js",
- "status": "passed",
- "has_pending": true,
- "tests": {
- "Add New Simple Product Page": [
- {
- "title": "can create simple virtual product",
- "status": "pending"
- },
- {
- "title": "can have a shopper add the simple virtual product to the cart",
- "status": "pending"
- },
- {
- "title": "can create simple non-virtual product",
- "status": "pending"
- },
- {
- "title": "can have a shopper add the simple non-virtual product to the cart",
- "status": "pending"
- }
- ]
- }
- },
{
"file": "merchant\\/customer-payment-page.spec.js",
- "status": "passed",
- "has_pending": true,
+ "status": "failed",
+ "has_pending": false,
"tests": {
"WooCommerce Merchant Flow: Orders > Customer Payment Page": [
{
"title": "should show the customer payment page link on a pending order",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should load the customer payment page",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can pay for the order through the customer payment page",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -458,25 +553,25 @@
{
"file": "merchant\\/order-bulk-edit.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Bulk edit orders": [
{
"title": "can bulk update order status",
- "status": "pending"
+ "status": "passed"
}
]
}
},
{
"file": "merchant\\/order-coupon.spec.js",
- "status": "passed",
+ "status": "failed",
"has_pending": true,
"tests": {
"WooCommerce Orders > Apply Coupon": [
{
"title": "can apply a coupon",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can remove a coupon",
@@ -487,59 +582,59 @@
},
{
"file": "merchant\\/order-edit.spec.js",
- "status": "passed",
- "has_pending": true,
+ "status": "failed",
+ "has_pending": false,
"tests": {
"Edit order": [
{
"title": "can view single order",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order status",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order status to cancelled",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can update order details",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can add and delete order notes",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can load billing details",
- "status": "pending"
+ "status": "passed"
}
],
"Edit order > Downloadable product permissions": [
{
"title": "can add downloadable product permissions to order without product",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can add downloadable product permissions to order with product",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can edit downloadable product permissions",
- "status": "pending"
+ "status": "failed"
},
{
"title": "can revoke downloadable product permissions",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should not allow downloading a product if download attempts are exceeded",
- "status": "pending"
+ "status": "failed"
},
{
"title": "should not allow downloading a product if expiration date has passed",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -552,15 +647,23 @@
"Merchant > Order Action emails received": [
{
"title": "can receive new order email",
+ "status": "passed"
+ },
+ {
+ "title": "can receive completed email",
"status": "pending"
},
+ {
+ "title": "can receive cancelled order email",
+ "status": "passed"
+ },
{
"title": "can resend new order notification",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can email invoice\\/order details to customer",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -590,81 +693,81 @@
},
{
"file": "merchant\\/order-search.spec.js",
- "status": "passed",
- "has_pending": true,
+ "status": "failed",
+ "has_pending": false,
"tests": {
"WooCommerce Orders > Search orders": [
{
"title": "can search for order by order id",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"James\\" as the billing first name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Doe\\" as the billing last name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Automattic\\" as the billing company name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"address1\\" as the billing first address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"address2\\" as the billing second address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"San Francisco\\" as the billing city name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"94107\\" as the billing post code",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"john.doe.ordersearch@example.com\\" as the billing email",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"123456789\\" as the billing phone",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"CA\\" as the billing state",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Tim\\" as the shipping first name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Clark\\" as the shipping last name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Oxford Ave\\" as the shipping first address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Linwood Ave\\" as the shipping second address",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Buffalo\\" as the shipping city name",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"14201\\" as the shipping post code",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can search for order containing \\"Wanted Product\\" as the shipping item name",
- "status": "pending"
+ "status": "failed"
}
]
}
@@ -672,95 +775,95 @@
{
"file": "merchant\\/order-status-filter.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"WooCommerce Orders > Filter Order by Status": [
{
"title": "should filter by All",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Pending payment",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Processing",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by On hold",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Completed",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Cancelled",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Refunded",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should filter by Failed",
- "status": "pending"
+ "status": "passed"
}
]
}
},
{
"file": "merchant\\/page-loads.spec.js",
- "status": "passed",
+ "status": "failed",
"has_pending": true,
"tests": {
"WooCommerce Page Load > Load WooCommerce sub pages": [
{
"title": "Can load Home",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Orders",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Customers",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Reports",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Settings",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Status",
- "status": "pending"
+ "status": "failed"
}
],
"WooCommerce Page Load > Load Products sub pages": [
{
"title": "Can load All Products",
- "status": "pending"
+ "status": "failed"
},
{
"title": "Can load Add New",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Categories",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Tags",
- "status": "pending"
+ "status": "passed"
},
{
"title": "Can load Attributes",
- "status": "pending"
+ "status": "failed"
}
],
"WooCommerce Page Load > Load Marketing sub pages": [
@@ -775,6 +878,27 @@
]
}
},
+ {
+ "file": "merchant\\/product-create-simple.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Products > Add Simple Product": [
+ {
+ "title": "can create a simple virtual product",
+ "status": "pending"
+ },
+ {
+ "title": "can create a simple non virtual product",
+ "status": "pending"
+ },
+ {
+ "title": "can create a simple downloadable product",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-delete.spec.js",
"status": "passed",
@@ -805,6 +929,10 @@
{
"title": "can edit a product and save the changes",
"status": "pending"
+ },
+ {
+ "title": "can bulk edit products",
+ "status": "pending"
}
]
}
@@ -859,6 +987,60 @@
]
}
},
+ {
+ "file": "merchant\\/product-linked-producs.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Products > Related products": [
+ {
+ "title": "add up-sells",
+ "status": "pending"
+ },
+ {
+ "title": "remove up-sells",
+ "status": "pending"
+ },
+ {
+ "title": "add cross-sells",
+ "status": "pending"
+ },
+ {
+ "title": "remove cross-sells",
+ "status": "pending"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/product-reviews.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Product Reviews > Edit Product Review": [
+ {
+ "title": "can view products reviews list",
+ "status": "pending"
+ },
+ {
+ "title": "can filter the reviews by product",
+ "status": "pending"
+ },
+ {
+ "title": "can quick edit a product review",
+ "status": "pending"
+ },
+ {
+ "title": "can edit a product review",
+ "status": "pending"
+ },
+ {
+ "title": "can delete a product review",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-search.spec.js",
"status": "passed",
@@ -1036,6 +1218,24 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-images-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-inventory-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/settings-general.spec.js",
"status": "passed",
@@ -1080,6 +1280,29 @@
]
}
},
+ {
+ "file": "shopper\\/account-email-receiving.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Shopper Account Email Receiving": [
+ {
+ "title": "should receive an email when creating an account",
+ "status": "pending"
+ },
+ {
+ "title": "should receive an email when password reset initiated from admin",
+ "status": "pending"
+ }
+ ],
+ "Shopper Password Reset Email Receiving": [
+ {
+ "title": "should receive an email when initiating a password reset",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-block-calculate-shipping.spec.js",
"status": "passed",
@@ -1235,6 +1458,54 @@
]
}
},
+ {
+ "file": "shopper\\/cart-checkout-calculate-tax.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Tax rates in the cart and checkout": [],
+ "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
+ {
+ "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
+ "status": "pending"
+ },
+ {
+ "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
+ "status": "pending"
+ },
+ {
+ "title": "checks that display suffix is shown",
+ "status": "pending"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Rounding": [
+ {
+ "title": "checks rounding at subtotal level",
+ "status": "pending"
+ },
+ {
+ "title": "checks rounding off at subtotal level",
+ "status": "pending"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Levels": [
+ {
+ "title": "checks applying taxes of 4 different levels",
+ "status": "pending"
+ },
+ {
+ "title": "checks applying taxes of 2 different levels (2 excluded)",
+ "status": "pending"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shipping Tax": [
+ {
+ "title": "checks that tax is applied to shipping as well as order",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-checkout-coupons.spec.js",
"status": "passed",
@@ -1783,54 +2054,6 @@
]
}
},
- {
- "file": "shopper\\/tax\\/checkout-calculate-tax.spec.js",
- "status": "passed",
- "has_pending": true,
- "tests": {
- "Tax rates in the cart and checkout": [],
- "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
- {
- "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
- "status": "pending"
- },
- {
- "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
- "status": "pending"
- },
- {
- "title": "checks that display suffix is shown",
- "status": "pending"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Rounding": [
- {
- "title": "checks rounding at subtotal level",
- "status": "pending"
- },
- {
- "title": "checks rounding off at subtotal level",
- "status": "pending"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Levels": [
- {
- "title": "checks applying taxes of 4 different levels",
- "status": "pending"
- },
- {
- "title": "checks applying taxes of 2 different levels (2 excluded)",
- "status": "pending"
- }
- ],
- "Tax rates in the cart and checkout > Shipping Tax": [
- {
- "title": "checks that tax is applied to shipping as well as order",
- "status": "pending"
- }
- ]
- }
- },
{
"file": "shopper\\/wordpress-post.spec.js",
"status": "passed",
@@ -1875,7 +2098,7 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 2 failed, 71 passed, 73 total | Tests: 238 skipped, 4 failed, 40 passed, 282 total."
+ "summary": "Test Suites: 0 skipped, 8 failed, 73 passed, 81 total | Tests: 194 skipped, 20 failed, 107 passed, 321 total."
}
},
{
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woorc_php82_wprc_4ee1157429027befae37425348f5bd84__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woorc_php82_wprc_4ee1157429027befae37425348f5bd84__1.php
index 9d55ad26..faddddcf 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woorc_php82_wprc_4ee1157429027befae37425348f5bd84__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woorc_php82_wprc_4ee1157429027befae37425348f5bd84__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total.",
+ "test_summary": "Test Suites: 0 skipped, 0 failed, 90 passed, 90 total | Tests: 22 skipped, 0 failed, 308 passed, 330 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -42,13 +42,13 @@
{
"test_result_json": {
"numFailedTestSuites": 0,
- "numPassedTestSuites": 81,
+ "numPassedTestSuites": 90,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 81,
+ "numTotalTestSuites": 90,
"numFailedTests": 0,
- "numPassedTests": 302,
- "numPendingTests": 19,
- "numTotalTests": 321,
+ "numPassedTests": 308,
+ "numPendingTests": 22,
+ "numTotalTests": 330,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -75,7 +75,7 @@
"Store owner can complete the core profiler": [
{
"title": "Can complete the core profiler skipping extension install",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Can complete the core profiler installing default extensions",
@@ -224,11 +224,11 @@
"tests": {
"Payment setup task": [
{
- "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
+ "title": "Saving valid bank account transfer details enables the payment method",
"status": "passed"
},
{
- "title": "Saving valid bank account transfer details enables the payment method",
+ "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
"status": "passed"
},
{
@@ -348,6 +348,32 @@
]
}
},
+ {
+ "file": "merchant\\/create-cart-block.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Cart To Cart Block": [
+ {
+ "title": "can transform classic cart to cart block",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/create-checkout-block.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Checkout To Checkout Block": [
+ {
+ "title": "can transform classic checkout to checkout block",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
@@ -529,6 +555,31 @@
]
}
},
+ {
+ "file": "merchant\\/customer-list.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Merchant > Customer List": [
+ {
+ "title": "Merchant can view an empty customer list",
+ "status": "pending"
+ },
+ {
+ "title": "Merchant can view a list of all customers, filter and download",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can view a single customer",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can use advanced filters",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/customer-payment-page.spec.js",
"status": "passed",
@@ -671,22 +722,22 @@
{
"file": "merchant\\/order-refund.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"WooCommerce Orders > Refund an order": [
{
"title": "can issue a refund by quantity",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can delete an issued refund",
- "status": "pending"
+ "status": "passed"
}
],
"WooCommerce Orders > Refund and restock an order item": [
{
"title": "can update order after refunding item without automatic stock adjustment",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1179,6 +1230,28 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/create-variable-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Variations tab": [],
+ "Variations tab > Create variable product": [
+ {
+ "title": "can create a variation option and publish the product",
+ "status": "passed"
+ },
+ {
+ "title": "can edit a variation",
+ "status": "passed"
+ },
+ {
+ "title": "can delete a variation",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/products\\/block-editor\\/disable-block-product-editor.spec.js",
"status": "passed",
@@ -1218,6 +1291,26 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/organization-tab-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "General tab": [],
+ "General tab > Create product - Organization tab": [
+ {
+ "title": "can create a simple product with categories, tags and with password required",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-attributes-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
"status": "passed",
@@ -1280,6 +1373,18 @@
]
}
},
+ {
+ "file": "merchant\\/users-create.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/users-manage.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "shopper\\/account-email-receiving.spec.js",
"status": "passed",
@@ -1368,11 +1473,7 @@
"tests": {
"Cart Block page": [
{
- "title": "can see empty cart block",
- "status": "passed"
- },
- {
- "title": "can add product to cart block, increase quantity, manage cross-sell products and proceed to checkout",
+ "title": "can see empty cart, add and remove simple & cross sell product, increase to max quantity",
"status": "passed"
}
]
@@ -1410,7 +1511,7 @@
{
"file": "shopper\\/cart-checkout-block-calculate-tax.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Shopper Cart & Checkout Block Tax Display": [
{
@@ -1453,7 +1554,7 @@
"Shipping Cart & Checkout Block Tax": [
{
"title": "that tax is applied in Cart Block to shipping as well as order",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1578,7 +1679,11 @@
"status": "passed"
},
{
- "title": "coupon cannot be used by any customer (email restricted)",
+ "title": "coupon cannot be used by any customer on cart (email restricted)",
+ "status": "passed"
+ },
+ {
+ "title": "coupon cannot be used by any customer on checkout (email restricted)",
"status": "passed"
},
{
@@ -1707,7 +1812,7 @@
},
{
"title": "can choose different shipping types in the checkout",
- "status": "pending"
+ "status": "passed"
},
{
"title": "allows guest customer to place an order",
@@ -1753,7 +1858,7 @@
{
"file": "shopper\\/checkout.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Checkout page": [
{
@@ -1782,7 +1887,7 @@
},
{
"title": "allows existing customer to place order",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -1790,20 +1895,20 @@
{
"file": "shopper\\/dashboard-access.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Customer-role users are blocked from accessing the WP Dashboard.": [
{
"title": "Customer is redirected from WP Admin home back to the My Account page.",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Customer is redirected from WP Admin profile page back to the My Account page.",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Customer is redirected from WP Admin using ajax query param back to the My Account page.",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -1811,20 +1916,12 @@
{
"file": "shopper\\/mini-cart.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Mini Cart block page": [
{
- "title": "can see empty mini cart",
- "status": "passed"
- },
- {
- "title": "can proceed to mini cart, observe it and proceed to the checkout",
- "status": "passed"
- },
- {
- "title": "can see mini cart total price inclusive with tax",
- "status": "passed"
+ "title": "can see empty customized mini cart, add and remove product, increase to max quantity, calculate tax and see redirection",
+ "status": "pending"
}
]
}
@@ -1888,12 +1985,12 @@
{
"file": "shopper\\/my-account.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"My account page": [
{
"title": "allows customer to login",
- "status": "passed"
+ "status": "pending"
},
{
"title": "allows customer to see Orders page",
@@ -2033,15 +2130,28 @@
]
}
},
+ {
+ "file": "shopper\\/shop-products-filter-by-price.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Filter items in the shop by product price": [
+ {
+ "title": "filter products by prices on the created page",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/shop-search-browse-sort.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Search, browse by categories and sort items in the shop": [
{
"title": "should let user search the store",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should let user browse products by categories",
@@ -2057,12 +2167,12 @@
{
"file": "shopper\\/wordpress-post.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"WordPress": [
{
"title": "logged-in customer can comment on a post",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -2098,11 +2208,16 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total."
+ "summary": "Test Suites: 0 skipped, 0 failed, 90 passed, 90 total | Tests: 22 skipped, 0 failed, 308 passed, 330 total."
}
},
{
- "debug_log": []
+ "debug_log": [
+ {
+ "count": "20",
+ "message": "PHP Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in \\/var\\/www\\/html\\/wp-includes\\/formatting.php on line 3557"
+ }
+ ]
}
]
]';
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woostable_php82_wprc_960168535790f3a7eff463fb11517d63__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woostable_php82_wprc_960168535790f3a7eff463fb11517d63__1.php
index bfc46741..9d55ad26 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woostable_php82_wprc_960168535790f3a7eff463fb11517d63__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_php82_woostable_php82_wprc_960168535790f3a7eff463fb11517d63__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 0 failed, 73 passed, 73 total | Tests: 19 skipped, 0 failed, 263 passed, 282 total.",
+ "test_summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -42,13 +42,13 @@
{
"test_result_json": {
"numFailedTestSuites": 0,
- "numPassedTestSuites": 73,
+ "numPassedTestSuites": 81,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 73,
+ "numTotalTestSuites": 81,
"numFailedTests": 0,
- "numPassedTests": 263,
+ "numPassedTests": 302,
"numPendingTests": 19,
- "numTotalTests": 282,
+ "numTotalTests": 321,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -297,14 +297,81 @@
]
}
},
+ {
+ "file": "js-file-monitor\\/monitor-js-file-number.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Keeps track of the number of JS files included on key shopper pages": [
+ {
+ "title": "Check that Shop page has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Cart has 54 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Checkout has 54 JS files",
+ "status": "passed"
+ }
+ ],
+ "Keeps track of the number of JS files on key admin pages": [
+ {
+ "title": "Check that WC Dashboard has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Reports has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Orders page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Products page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Add new product has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Analytics page has 120 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Marketing Overview has 120 JS files",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
"has_pending": false,
"tests": {
- "Add New Coupon Page": [
+ "Coupon management": [
{
- "title": "can create new coupon",
+ "title": "can create new fixedCart coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new fixedProduct coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new percentage coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new expiryDate coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new freeShipping coupon",
"status": "passed"
}
]
@@ -353,6 +420,59 @@
]
}
},
+ {
+ "file": "merchant\\/create-restricted-coupons.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Restricted coupon management": [
+ {
+ "title": "can create new minimumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new maximumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new individualUse coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeSaleItems coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new productCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeProductCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new products coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeProducts coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new allowedEmails coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerCoupon coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerUser coupon",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-shipping-classes.spec.js",
"status": "passed",
@@ -409,31 +529,6 @@
]
}
},
- {
- "file": "merchant\\/create-simple-product.spec.js",
- "status": "passed",
- "has_pending": false,
- "tests": {
- "Add New Simple Product Page": [
- {
- "title": "can create simple virtual product",
- "status": "passed"
- },
- {
- "title": "can have a shopper add the simple virtual product to the cart",
- "status": "passed"
- },
- {
- "title": "can create simple non-virtual product",
- "status": "passed"
- },
- {
- "title": "can have a shopper add the simple non-virtual product to the cart",
- "status": "passed"
- }
- ]
- }
- },
{
"file": "merchant\\/customer-payment-page.spec.js",
"status": "passed",
@@ -547,13 +642,21 @@
{
"file": "merchant\\/order-emails.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Merchant > Order Action emails received": [
{
"title": "can receive new order email",
"status": "passed"
},
+ {
+ "title": "can receive completed email",
+ "status": "pending"
+ },
+ {
+ "title": "can receive cancelled order email",
+ "status": "passed"
+ },
{
"title": "can resend new order notification",
"status": "passed"
@@ -775,10 +878,31 @@
]
}
},
+ {
+ "file": "merchant\\/product-create-simple.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Products > Add Simple Product": [
+ {
+ "title": "can create a simple virtual product",
+ "status": "passed"
+ },
+ {
+ "title": "can create a simple non virtual product",
+ "status": "passed"
+ },
+ {
+ "title": "can create a simple downloadable product",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-delete.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Products > Delete Product": [
{
@@ -787,7 +911,7 @@
},
{
"title": "can quick delete a product from product list",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can permanently delete a product from trash list",
@@ -805,6 +929,10 @@
{
"title": "can edit a product and save the changes",
"status": "passed"
+ },
+ {
+ "title": "can bulk edit products",
+ "status": "passed"
}
]
}
@@ -859,6 +987,60 @@
]
}
},
+ {
+ "file": "merchant\\/product-linked-producs.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Products > Related products": [
+ {
+ "title": "add up-sells",
+ "status": "passed"
+ },
+ {
+ "title": "remove up-sells",
+ "status": "passed"
+ },
+ {
+ "title": "add cross-sells",
+ "status": "passed"
+ },
+ {
+ "title": "remove cross-sells",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/product-reviews.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Product Reviews > Edit Product Review": [
+ {
+ "title": "can view products reviews list",
+ "status": "passed"
+ },
+ {
+ "title": "can filter the reviews by product",
+ "status": "passed"
+ },
+ {
+ "title": "can quick edit a product review",
+ "status": "passed"
+ },
+ {
+ "title": "can edit a product review",
+ "status": "passed"
+ },
+ {
+ "title": "can delete a product review",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-search.spec.js",
"status": "passed",
@@ -1036,6 +1218,24 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-images-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-inventory-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/settings-general.spec.js",
"status": "passed",
@@ -1080,6 +1280,29 @@
]
}
},
+ {
+ "file": "shopper\\/account-email-receiving.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Shopper Account Email Receiving": [
+ {
+ "title": "should receive an email when creating an account",
+ "status": "pending"
+ },
+ {
+ "title": "should receive an email when password reset initiated from admin",
+ "status": "pending"
+ }
+ ],
+ "Shopper Password Reset Email Receiving": [
+ {
+ "title": "should receive an email when initiating a password reset",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-block-calculate-shipping.spec.js",
"status": "passed",
@@ -1235,6 +1458,54 @@
]
}
},
+ {
+ "file": "shopper\\/cart-checkout-calculate-tax.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Tax rates in the cart and checkout": [],
+ "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
+ {
+ "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
+ "status": "passed"
+ },
+ {
+ "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
+ "status": "passed"
+ },
+ {
+ "title": "checks that display suffix is shown",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Rounding": [
+ {
+ "title": "checks rounding at subtotal level",
+ "status": "passed"
+ },
+ {
+ "title": "checks rounding off at subtotal level",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Levels": [
+ {
+ "title": "checks applying taxes of 4 different levels",
+ "status": "passed"
+ },
+ {
+ "title": "checks applying taxes of 2 different levels (2 excluded)",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shipping Tax": [
+ {
+ "title": "checks that tax is applied to shipping as well as order",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-checkout-coupons.spec.js",
"status": "passed",
@@ -1271,7 +1542,7 @@
{
"file": "shopper\\/cart-checkout-restricted-coupons.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Cart & Checkout Restricted Coupons": [
{
@@ -1308,11 +1579,11 @@
},
{
"title": "coupon cannot be used by any customer (email restricted)",
- "status": "pending"
+ "status": "passed"
},
{
"title": "coupon can be used by the right customer (email restricted) but only once",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1444,7 +1715,7 @@
},
{
"title": "allows existing customer to place an order",
- "status": "passed"
+ "status": "pending"
},
{
"title": "can create an account during checkout",
@@ -1482,7 +1753,7 @@
{
"file": "shopper\\/checkout.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Checkout page": [
{
@@ -1507,7 +1778,7 @@
},
{
"title": "allows guest customer to place an order",
- "status": "pending"
+ "status": "passed"
},
{
"title": "allows existing customer to place order",
@@ -1783,54 +2054,6 @@
]
}
},
- {
- "file": "shopper\\/tax\\/checkout-calculate-tax.spec.js",
- "status": "passed",
- "has_pending": true,
- "tests": {
- "Tax rates in the cart and checkout": [],
- "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
- {
- "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
- "status": "passed"
- },
- {
- "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
- "status": "passed"
- },
- {
- "title": "checks that display suffix is shown",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Rounding": [
- {
- "title": "checks rounding at subtotal level",
- "status": "passed"
- },
- {
- "title": "checks rounding off at subtotal level",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Levels": [
- {
- "title": "checks applying taxes of 4 different levels",
- "status": "passed"
- },
- {
- "title": "checks applying taxes of 2 different levels (2 excluded)",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shipping Tax": [
- {
- "title": "checks that tax is applied to shipping as well as order",
- "status": "pending"
- }
- ]
- }
- },
{
"file": "shopper\\/wordpress-post.spec.js",
"status": "passed",
@@ -1875,7 +2098,7 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 0 failed, 73 passed, 73 total | Tests: 19 skipped, 0 failed, 263 passed, 282 total."
+ "summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total."
}
},
{
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woorc_php74_wprc_818ebdd6b04d0991fd37d3414ff14307__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woorc_php74_wprc_818ebdd6b04d0991fd37d3414ff14307__1.php
index ec54e018..a91aed30 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woorc_php74_wprc_818ebdd6b04d0991fd37d3414ff14307__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woorc_php74_wprc_818ebdd6b04d0991fd37d3414ff14307__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total.",
+ "test_summary": "Test Suites: 0 skipped, 0 failed, 90 passed, 90 total | Tests: 22 skipped, 0 failed, 308 passed, 330 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -42,13 +42,13 @@
{
"test_result_json": {
"numFailedTestSuites": 0,
- "numPassedTestSuites": 81,
+ "numPassedTestSuites": 90,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 81,
+ "numTotalTestSuites": 90,
"numFailedTests": 0,
- "numPassedTests": 302,
- "numPendingTests": 19,
- "numTotalTests": 321,
+ "numPassedTests": 308,
+ "numPendingTests": 22,
+ "numTotalTests": 330,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -75,7 +75,7 @@
"Store owner can complete the core profiler": [
{
"title": "Can complete the core profiler skipping extension install",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Can complete the core profiler installing default extensions",
@@ -224,11 +224,11 @@
"tests": {
"Payment setup task": [
{
- "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
+ "title": "Saving valid bank account transfer details enables the payment method",
"status": "passed"
},
{
- "title": "Saving valid bank account transfer details enables the payment method",
+ "title": "Can visit the payment setup task from the homescreen if the setup wizard has been skipped",
"status": "passed"
},
{
@@ -348,6 +348,32 @@
]
}
},
+ {
+ "file": "merchant\\/create-cart-block.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Cart To Cart Block": [
+ {
+ "title": "can transform classic cart to cart block",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/create-checkout-block.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Transform Classic Checkout To Checkout Block": [
+ {
+ "title": "can transform classic checkout to checkout block",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
@@ -529,6 +555,31 @@
]
}
},
+ {
+ "file": "merchant\\/customer-list.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Merchant > Customer List": [
+ {
+ "title": "Merchant can view an empty customer list",
+ "status": "pending"
+ },
+ {
+ "title": "Merchant can view a list of all customers, filter and download",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can view a single customer",
+ "status": "passed"
+ },
+ {
+ "title": "Merchant can use advanced filters",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/customer-payment-page.spec.js",
"status": "passed",
@@ -671,22 +722,22 @@
{
"file": "merchant\\/order-refund.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"WooCommerce Orders > Refund an order": [
{
"title": "can issue a refund by quantity",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can delete an issued refund",
- "status": "pending"
+ "status": "passed"
}
],
"WooCommerce Orders > Refund and restock an order item": [
{
"title": "can update order after refunding item without automatic stock adjustment",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1179,6 +1230,28 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/create-variable-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Variations tab": [],
+ "Variations tab > Create variable product": [
+ {
+ "title": "can create a variation option and publish the product",
+ "status": "passed"
+ },
+ {
+ "title": "can edit a variation",
+ "status": "passed"
+ },
+ {
+ "title": "can delete a variation",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/products\\/block-editor\\/disable-block-product-editor.spec.js",
"status": "passed",
@@ -1218,6 +1291,26 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/organization-tab-product-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "General tab": [],
+ "General tab > Create product - Organization tab": [
+ {
+ "title": "can create a simple product with categories, tags and with password required",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-attributes-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
"status": "passed",
@@ -1280,6 +1373,18 @@
]
}
},
+ {
+ "file": "merchant\\/users-create.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/users-manage.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "shopper\\/account-email-receiving.spec.js",
"status": "passed",
@@ -1368,11 +1473,7 @@
"tests": {
"Cart Block page": [
{
- "title": "can see empty cart block",
- "status": "passed"
- },
- {
- "title": "can add product to cart block, increase quantity, manage cross-sell products and proceed to checkout",
+ "title": "can see empty cart, add and remove simple & cross sell product, increase to max quantity",
"status": "passed"
}
]
@@ -1410,7 +1511,7 @@
{
"file": "shopper\\/cart-checkout-block-calculate-tax.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Shopper Cart & Checkout Block Tax Display": [
{
@@ -1453,7 +1554,7 @@
"Shipping Cart & Checkout Block Tax": [
{
"title": "that tax is applied in Cart Block to shipping as well as order",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1578,7 +1679,11 @@
"status": "passed"
},
{
- "title": "coupon cannot be used by any customer (email restricted)",
+ "title": "coupon cannot be used by any customer on cart (email restricted)",
+ "status": "passed"
+ },
+ {
+ "title": "coupon cannot be used by any customer on checkout (email restricted)",
"status": "passed"
},
{
@@ -1707,7 +1812,7 @@
},
{
"title": "can choose different shipping types in the checkout",
- "status": "pending"
+ "status": "passed"
},
{
"title": "allows guest customer to place an order",
@@ -1753,7 +1858,7 @@
{
"file": "shopper\\/checkout.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Checkout page": [
{
@@ -1782,7 +1887,7 @@
},
{
"title": "allows existing customer to place order",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -1790,20 +1895,20 @@
{
"file": "shopper\\/dashboard-access.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Customer-role users are blocked from accessing the WP Dashboard.": [
{
"title": "Customer is redirected from WP Admin home back to the My Account page.",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Customer is redirected from WP Admin profile page back to the My Account page.",
- "status": "passed"
+ "status": "pending"
},
{
"title": "Customer is redirected from WP Admin using ajax query param back to the My Account page.",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -1811,20 +1916,12 @@
{
"file": "shopper\\/mini-cart.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Mini Cart block page": [
{
- "title": "can see empty mini cart",
- "status": "passed"
- },
- {
- "title": "can proceed to mini cart, observe it and proceed to the checkout",
- "status": "passed"
- },
- {
- "title": "can see mini cart total price inclusive with tax",
- "status": "passed"
+ "title": "can see empty customized mini cart, add and remove product, increase to max quantity, calculate tax and see redirection",
+ "status": "pending"
}
]
}
@@ -1888,12 +1985,12 @@
{
"file": "shopper\\/my-account.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"My account page": [
{
"title": "allows customer to login",
- "status": "passed"
+ "status": "pending"
},
{
"title": "allows customer to see Orders page",
@@ -2033,15 +2130,28 @@
]
}
},
+ {
+ "file": "shopper\\/shop-products-filter-by-price.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Filter items in the shop by product price": [
+ {
+ "title": "filter products by prices on the created page",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/shop-search-browse-sort.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Search, browse by categories and sort items in the shop": [
{
"title": "should let user search the store",
- "status": "pending"
+ "status": "passed"
},
{
"title": "should let user browse products by categories",
@@ -2057,12 +2167,12 @@
{
"file": "shopper\\/wordpress-post.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"WordPress": [
{
"title": "logged-in customer can comment on a post",
- "status": "passed"
+ "status": "pending"
}
]
}
@@ -2098,7 +2208,7 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total."
+ "summary": "Test Suites: 0 skipped, 0 failed, 90 passed, 90 total | Tests: 22 skipped, 0 failed, 308 passed, 330 total."
}
},
{
diff --git a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woostable_php74_wprc_865de3b217a16a96d42609a9ca8ebcf0__1.php b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woostable_php74_wprc_865de3b217a16a96d42609a9ca8ebcf0__1.php
index 2d9b9b53..ec54e018 100644
--- a/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woostable_php74_wprc_865de3b217a16a96d42609a9ca8ebcf0__1.php
+++ b/_tests/tests/__snapshots__/Wooe2eTest__test_woo_e2e_no_op_woostable_php74_wprc_865de3b217a16a96d42609a9ca8ebcf0__1.php
@@ -31,7 +31,7 @@
},
"test_results_manager_url": "https:\\/\\/test-results-manager.com",
"test_results_manager_expiration": 1234567890,
- "test_summary": "Test Suites: 0 skipped, 0 failed, 73 passed, 73 total | Tests: 19 skipped, 0 failed, 263 passed, 282 total.",
+ "test_summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total.",
"version": "Undefined",
"update_complete": true,
"ai_suggestion_status": "none",
@@ -42,13 +42,13 @@
{
"test_result_json": {
"numFailedTestSuites": 0,
- "numPassedTestSuites": 73,
+ "numPassedTestSuites": 81,
"numPendingTestSuites": 0,
- "numTotalTestSuites": 73,
+ "numTotalTestSuites": 81,
"numFailedTests": 0,
- "numPassedTests": 263,
+ "numPassedTests": 302,
"numPendingTests": 19,
- "numTotalTests": 282,
+ "numTotalTests": 321,
"testResults": [
{
"file": "activate-and-setup\\/basic-setup.spec.js",
@@ -297,14 +297,81 @@
]
}
},
+ {
+ "file": "js-file-monitor\\/monitor-js-file-number.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Keeps track of the number of JS files included on key shopper pages": [
+ {
+ "title": "Check that Shop page has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Cart has 54 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Checkout has 54 JS files",
+ "status": "passed"
+ }
+ ],
+ "Keeps track of the number of JS files on key admin pages": [
+ {
+ "title": "Check that WC Dashboard has 50 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Reports has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Orders page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Products page has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Add new product has 150 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Analytics page has 120 JS files",
+ "status": "passed"
+ },
+ {
+ "title": "Check that Marketing Overview has 120 JS files",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-coupon.spec.js",
"status": "passed",
"has_pending": false,
"tests": {
- "Add New Coupon Page": [
+ "Coupon management": [
{
- "title": "can create new coupon",
+ "title": "can create new fixedCart coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new fixedProduct coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new percentage coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new expiryDate coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new freeShipping coupon",
"status": "passed"
}
]
@@ -353,6 +420,59 @@
]
}
},
+ {
+ "file": "merchant\\/create-restricted-coupons.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Restricted coupon management": [
+ {
+ "title": "can create new minimumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new maximumSpend coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new individualUse coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeSaleItems coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new productCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeProductCategories coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new products coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new excludeProducts coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new allowedEmails coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerCoupon coupon",
+ "status": "passed"
+ },
+ {
+ "title": "can create new usageLimitPerUser coupon",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/create-shipping-classes.spec.js",
"status": "passed",
@@ -409,31 +529,6 @@
]
}
},
- {
- "file": "merchant\\/create-simple-product.spec.js",
- "status": "passed",
- "has_pending": false,
- "tests": {
- "Add New Simple Product Page": [
- {
- "title": "can create simple virtual product",
- "status": "passed"
- },
- {
- "title": "can have a shopper add the simple virtual product to the cart",
- "status": "passed"
- },
- {
- "title": "can create simple non-virtual product",
- "status": "passed"
- },
- {
- "title": "can have a shopper add the simple non-virtual product to the cart",
- "status": "passed"
- }
- ]
- }
- },
{
"file": "merchant\\/customer-payment-page.spec.js",
"status": "passed",
@@ -547,13 +642,21 @@
{
"file": "merchant\\/order-emails.spec.js",
"status": "passed",
- "has_pending": false,
+ "has_pending": true,
"tests": {
"Merchant > Order Action emails received": [
{
"title": "can receive new order email",
"status": "passed"
},
+ {
+ "title": "can receive completed email",
+ "status": "pending"
+ },
+ {
+ "title": "can receive cancelled order email",
+ "status": "passed"
+ },
{
"title": "can resend new order notification",
"status": "passed"
@@ -775,10 +878,31 @@
]
}
},
+ {
+ "file": "merchant\\/product-create-simple.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Products > Add Simple Product": [
+ {
+ "title": "can create a simple virtual product",
+ "status": "passed"
+ },
+ {
+ "title": "can create a simple non virtual product",
+ "status": "passed"
+ },
+ {
+ "title": "can create a simple downloadable product",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-delete.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Products > Delete Product": [
{
@@ -787,7 +911,7 @@
},
{
"title": "can quick delete a product from product list",
- "status": "pending"
+ "status": "passed"
},
{
"title": "can permanently delete a product from trash list",
@@ -805,6 +929,10 @@
{
"title": "can edit a product and save the changes",
"status": "passed"
+ },
+ {
+ "title": "can bulk edit products",
+ "status": "passed"
}
]
}
@@ -859,6 +987,60 @@
]
}
},
+ {
+ "file": "merchant\\/product-linked-producs.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Products > Related products": [
+ {
+ "title": "add up-sells",
+ "status": "passed"
+ },
+ {
+ "title": "remove up-sells",
+ "status": "passed"
+ },
+ {
+ "title": "add cross-sells",
+ "status": "passed"
+ },
+ {
+ "title": "remove cross-sells",
+ "status": "passed"
+ }
+ ]
+ }
+ },
+ {
+ "file": "merchant\\/product-reviews.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Product Reviews > Edit Product Review": [
+ {
+ "title": "can view products reviews list",
+ "status": "passed"
+ },
+ {
+ "title": "can filter the reviews by product",
+ "status": "passed"
+ },
+ {
+ "title": "can quick edit a product review",
+ "status": "passed"
+ },
+ {
+ "title": "can edit a product review",
+ "status": "passed"
+ },
+ {
+ "title": "can delete a product review",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "merchant\\/product-search.spec.js",
"status": "passed",
@@ -1036,6 +1218,24 @@
]
}
},
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-edit-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-images-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
+ {
+ "file": "merchant\\/products\\/block-editor\\/product-inventory-block-editor.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": []
+ },
{
"file": "merchant\\/settings-general.spec.js",
"status": "passed",
@@ -1080,6 +1280,29 @@
]
}
},
+ {
+ "file": "shopper\\/account-email-receiving.spec.js",
+ "status": "passed",
+ "has_pending": true,
+ "tests": {
+ "Shopper Account Email Receiving": [
+ {
+ "title": "should receive an email when creating an account",
+ "status": "pending"
+ },
+ {
+ "title": "should receive an email when password reset initiated from admin",
+ "status": "pending"
+ }
+ ],
+ "Shopper Password Reset Email Receiving": [
+ {
+ "title": "should receive an email when initiating a password reset",
+ "status": "pending"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-block-calculate-shipping.spec.js",
"status": "passed",
@@ -1235,6 +1458,54 @@
]
}
},
+ {
+ "file": "shopper\\/cart-checkout-calculate-tax.spec.js",
+ "status": "passed",
+ "has_pending": false,
+ "tests": {
+ "Tax rates in the cart and checkout": [],
+ "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
+ {
+ "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
+ "status": "passed"
+ },
+ {
+ "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
+ "status": "passed"
+ },
+ {
+ "title": "checks that display suffix is shown",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Rounding": [
+ {
+ "title": "checks rounding at subtotal level",
+ "status": "passed"
+ },
+ {
+ "title": "checks rounding off at subtotal level",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shopper Tax Levels": [
+ {
+ "title": "checks applying taxes of 4 different levels",
+ "status": "passed"
+ },
+ {
+ "title": "checks applying taxes of 2 different levels (2 excluded)",
+ "status": "passed"
+ }
+ ],
+ "Tax rates in the cart and checkout > Shipping Tax": [
+ {
+ "title": "checks that tax is applied to shipping as well as order",
+ "status": "passed"
+ }
+ ]
+ }
+ },
{
"file": "shopper\\/cart-checkout-coupons.spec.js",
"status": "passed",
@@ -1271,7 +1542,7 @@
{
"file": "shopper\\/cart-checkout-restricted-coupons.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Cart & Checkout Restricted Coupons": [
{
@@ -1308,11 +1579,11 @@
},
{
"title": "coupon cannot be used by any customer (email restricted)",
- "status": "pending"
+ "status": "passed"
},
{
"title": "coupon can be used by the right customer (email restricted) but only once",
- "status": "pending"
+ "status": "passed"
}
]
}
@@ -1444,7 +1715,7 @@
},
{
"title": "allows existing customer to place an order",
- "status": "passed"
+ "status": "pending"
},
{
"title": "can create an account during checkout",
@@ -1482,7 +1753,7 @@
{
"file": "shopper\\/checkout.spec.js",
"status": "passed",
- "has_pending": true,
+ "has_pending": false,
"tests": {
"Checkout page": [
{
@@ -1507,7 +1778,7 @@
},
{
"title": "allows guest customer to place an order",
- "status": "pending"
+ "status": "passed"
},
{
"title": "allows existing customer to place order",
@@ -1783,54 +2054,6 @@
]
}
},
- {
- "file": "shopper\\/tax\\/checkout-calculate-tax.spec.js",
- "status": "passed",
- "has_pending": true,
- "tests": {
- "Tax rates in the cart and checkout": [],
- "Tax rates in the cart and checkout > Shopper Tax Display Tests": [
- {
- "title": "checks that taxes are calculated properly on totals, inclusive tax displayed properly",
- "status": "passed"
- },
- {
- "title": "checks that taxes are calculated and displayed correctly exclusive on shop, cart and checkout",
- "status": "passed"
- },
- {
- "title": "checks that display suffix is shown",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Rounding": [
- {
- "title": "checks rounding at subtotal level",
- "status": "passed"
- },
- {
- "title": "checks rounding off at subtotal level",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shopper Tax Levels": [
- {
- "title": "checks applying taxes of 4 different levels",
- "status": "passed"
- },
- {
- "title": "checks applying taxes of 2 different levels (2 excluded)",
- "status": "passed"
- }
- ],
- "Tax rates in the cart and checkout > Shipping Tax": [
- {
- "title": "checks that tax is applied to shipping as well as order",
- "status": "pending"
- }
- ]
- }
- },
{
"file": "shopper\\/wordpress-post.spec.js",
"status": "passed",
@@ -1875,7 +2098,7 @@
}
}
],
- "summary": "Test Suites: 0 skipped, 0 failed, 73 passed, 73 total | Tests: 19 skipped, 0 failed, 263 passed, 282 total."
+ "summary": "Test Suites: 0 skipped, 0 failed, 81 passed, 81 total | Tests: 19 skipped, 0 failed, 302 passed, 321 total."
}
},
{
diff --git a/src/.phpcs.xml.dist b/src/.phpcs.xml.dist
index c3d819c4..000f2ebf 100644
--- a/src/.phpcs.xml.dist
+++ b/src/.phpcs.xml.dist
@@ -5,7 +5,7 @@
-
+
diff --git a/src/src/Commands/Backend/AddBackend.php b/src/src/Commands/Backend/AddBackend.php
index 690193bd..7d0ce3de 100644
--- a/src/src/Commands/Backend/AddBackend.php
+++ b/src/src/Commands/Backend/AddBackend.php
@@ -125,12 +125,12 @@ protected function execute( InputInterface $input, OutputInterface $output ): in
try {
$this->woo_extensions_list->fetch_woo_extensions_available();
if ( empty( $this->woo_extensions_list->get_woo_extension_list() ) ) {
- throw new \RuntimeException();
+ throw new \RuntimeException( 'Failed to get the list of Extensions. Do you have any?' );
}
} catch ( \Exception $e ) {
$this->auth->delete_manager_secret();
$this->cache->delete( 'manager_url' );
- $output->writeln( sprintf( 'We could not authenticate to %s using the provided Manager Secret.', escapeshellarg( $manager_url ) ) );
+ $output->writeln( sprintf( 'We could not authenticate to %s using the provided Manager Secret. Error: %s', escapeshellarg( $manager_url ), $e->getMessage() ) );
return Command::FAILURE;
}
diff --git a/src/src/Commands/Partner/AddPartner.php b/src/src/Commands/Partner/AddPartner.php
index 893890b9..a9fcdb63 100644
--- a/src/src/Commands/Partner/AddPartner.php
+++ b/src/src/Commands/Partner/AddPartner.php
@@ -42,7 +42,7 @@ public function __construct( ManagerBackend $manager_backend, Cache $cache, Auth
protected function configure() {
$this
->setDescription( 'Configure a new WCCOM Marketplace Partner that the QIT CLI can connect to.' )
- ->setHelp( sprintf( "Configure the QIT CLI to be able to interact with %s on behalf of a given partner.\nAuthenticating documentation: https://woocommerce.github.io/qit-documentation/#/authenticating", get_wccom_url() ) )
+ ->setHelp( sprintf( "Configure the QIT CLI to be able to interact with %s on behalf of a given partner.\nAuthenticating documentation: https://qit.woo.com/docs/support/authenticating", get_wccom_url() ) )
->addOption( 'user', 'u', InputOption::VALUE_OPTIONAL, '(Optional) Woo.com Partner Developer username.' )
->addOption( 'qit_token', 't', InputOption::VALUE_OPTIONAL, '(Optional) Woo.com Partner Developer QIT Token.' )
->addOption( 'application_password', 'p', InputOption::VALUE_OPTIONAL, '(DEPRECATED) This has been renamed to "QIT Token" and will be removed. A regular application password will not work.' );
@@ -95,11 +95,11 @@ protected function execute( InputInterface $input, OutputInterface $output ): in
$question->setValidator( function ( $qit_token ) {
if ( empty( $qit_token ) ) {
- throw new \RuntimeException( 'Invalid QIT Token. Questions? https://woocommerce.github.io/qit-documentation/#/authenticating' );
+ throw new \RuntimeException( 'Invalid QIT Token. Questions? https://qit.woo.com/docs/support/authenticating' );
}
if ( ! preg_match( '#^[a-z0-9 ]+$#i', $qit_token ) ) {
- throw new \RuntimeException( 'A QIT Token should consist of alpha-numeric characters and spaces. Questions? https://woocommerce.github.io/qit-documentation/#/authenticating' );
+ throw new \RuntimeException( 'A QIT Token should consist of alpha-numeric characters and spaces. Questions? https://qit.woo.com/docs/support/authenticating' );
}
return $qit_token;
@@ -117,7 +117,7 @@ protected function execute( InputInterface $input, OutputInterface $output ): in
$user = strtolower( $user );
if ( ! filter_var( $user, FILTER_VALIDATE_EMAIL ) && ! preg_match( '#^[a-z0-9_-]{1,70}$#i', $user ) ) {
- throw new \InvalidArgumentException( 'The username must be either a valid e-mail, or contain only letters, numbers, underscores or dashes. Questions? https://woocommerce.github.io/qit-documentation/#/authenticating' );
+ throw new \InvalidArgumentException( 'The username must be either a valid e-mail, or contain only letters, numbers, underscores or dashes. Questions? https://qit.woo.com/docs/support/authenticating' );
}
// Remove any non-alphanumeric characters from the username.
@@ -167,8 +167,8 @@ protected function execute( InputInterface $input, OutputInterface $output ): in
$io->section( <<output->writeln( sprintf( "Current version: %s>\nLatest version: %s>", $current_version, $latest_version ) );
$this->output->writeln( "\nUpdate today to take advantage of the latest features!" );
- $this->output->writeln( "How to update: https://woocommerce.github.io/qit-documentation/#/cli/getting-started?id=updating-qit\n" );
+ $this->output->writeln( "How to update: https://qit.woo.com/docs/cli/getting-started#updating-qit\n" );
if ( version_compare( $current_version, $minimum_cli_version, '<' ) ) {
if ( ! Config::is_development_mode() ) {
$this->output->writeln( sprintf( 'You are using an outdated version of the CLI. Please update to the latest version (%s).', $latest_version ) );
diff --git a/src/src/helpers.php b/src/src/helpers.php
index 89afad29..6e5b459f 100644
--- a/src/src/helpers.php
+++ b/src/src/helpers.php
@@ -49,7 +49,7 @@ function validate_authentication( string $username, string $qit_token ): void {
->with_timeout_in_seconds( 300 ) // Depending on how many extensions the user has, this can take a while.
->request();
} catch ( \Exception $e ) {
- throw new \Exception( $e->getMessage() );
+ throw new \Exception( sprintf( 'Could not authenticate to %s using the provided username and QIT Token. Questions? https://qit.woo.com/docs/support/authenticating', get_wccom_url() ) );
}
}