Commit Graph

3918 Commits

Author SHA1 Message Date
Ron Rennick 0b0595ab4c
Merge pull request #27048 from vallter2/postcode-bih
Add postcode validation for Bosnia and Herzegovina
2020-08-10 16:24:06 -03:00
Ron Rennick c14ce54752 fix e2e docker:ssh command to work in any repo 2020-08-10 14:54:10 -03:00
Christopher Allford 116e11565a
Merge pull request #27262 from woocommerce/fix/unit-tests-coding-standards
Fixed packages required to run code sniffer on unit tests
2020-08-10 06:57:05 -07:00
Christopher Allford 12397aec0e Added `_with` suffix to `StringUtil` methods for clarity 2020-08-07 16:45:35 -07:00
Christopher Allford 13a3b80cb6 Removed classes accidentally added back by merge from master 2020-08-07 16:45:09 -07:00
Christopher Allford eb65252ba8 Merge branch 'master' into feature/container-injection-change 2020-08-07 14:35:44 -07:00
Christopher Allford 081f0d9133 Settled on an injection method of `init`
1. Since our code style dictates that these be `final` methods, we shouldn't be concerned about overlap.
2. There is precedent for `init` methods as requirements before using class instances.
2020-08-07 14:28:29 -07:00
Claudio Sanches 02cf0dfaed
Merge pull request #27239 from woocommerce/fix/package-tag
Fix usage of "package" tag in file headers
2020-08-07 13:37:24 -03:00
Claudio Sanches 17f9883f00 Changed | to \ 2020-08-07 13:36:41 -03:00
Claudio Sanches 48732ee0dd Fixed package tag 2020-08-07 13:35:15 -03:00
Claudio Sanches 3fd42a0fd5 Fixed packages required to run code sniffer on unit tests 2020-08-07 13:28:41 -03:00
Ron Rennick 6aa52c8499 remove duplicate readme text 2020-08-07 13:04:36 -03:00
Ron Rennick db76c8ac2d merge package config with factories changes 2020-08-07 10:53:51 -03:00
Néstor Soriano 76cf1e4e93
Merge pull request #27140 from woocommerce/fix/23790
Always sanitize coupon code to prevent inconsistent between admins and shop owners
2020-08-07 12:42:02 +02:00
Néstor Soriano a13a0d2187
Merge pull request #27179 from woocommerce/fix/26741
Release coupon holds when status it updated to cancelled regardless of recorded coupons
2020-08-07 11:27:45 +02:00
Christopher Allford 154c812fc0 Renamed the `StringUtility` to `StringUtil` to make it easier to work with 2020-08-06 12:35:51 -07:00
Claudio Sanches 9eae43c0d4
Merge pull request #27240 from woocommerce/dependabot/npm_and_yarn/tests/e2e/factories/lodash-4.17.19
Bump lodash from 4.17.15 to 4.17.19 in /tests/e2e/factories
2020-08-06 15:50:26 -03:00
vedanshujain 2f76e52fa7 Skip test for < 5.3 as feature is not supported. 2020-08-06 14:34:02 +05:30
vedanshujain 55a9687e6d Make api included structure more linear. 2020-08-06 14:34:02 +05:30
vedanshujain cfe357cfb2 Fix UT to add predefined values to run tests in isolation. 2020-08-06 14:34:02 +05:30
vedanshujain 222852dea6 Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-08-06 14:06:29 +05:30
Christopher Allford 39376abfd2 Added a requirement that `container_init` methods be marked `final` when registering using reflection 2020-08-05 22:34:00 -07:00
Christopher Allford ff6e30f1c1 Renamed `set_internal_dependencies` to `container_init` 2020-08-05 22:20:13 -07:00
Christopher Allford cbbfed4989 Replaced the rest of the constructor injection references 2020-08-05 21:28:06 -07:00
dependabot[bot] 089df498d3
Bump lodash from 4.17.15 to 4.17.19 in /tests/e2e/factories
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-05 23:04:18 +00:00
Christopher Allford 8e8698a3f6 Fixed test that used PHPUnit function from newer version 2020-08-05 15:43:08 -07:00
Christopher Allford 678705cdd4 Merge branch 'master' into package/e2e-factories/product 2020-08-05 14:00:05 -07:00
Ron Rennick 0ca4ce27c5 update e2e readmes 2020-08-05 16:58:38 -03:00
Ron Rennick 7f04d800e9 keep browser reset at end of setup 2020-08-05 15:01:43 -03:00
Claudio Sanches 3632714885 Removed package tag from src 2020-08-05 14:23:50 -03:00
Claudio Sanches a50552af75 Use only WooCommerce as package name 2020-08-05 14:11:20 -03:00
Claudio Sanches d48f1d4e2e Fixed package tag usage 2020-08-05 13:36:24 -03:00
Ron Rennick 7799c1bcf0 merge master 2020-08-05 10:33:16 -03:00
Tam Mullen 5a410c02a6 Fix e2e OBW test to not untick physical products in product type list 2020-08-05 12:49:42 +01:00
Christopher Allford d178c7ff01 Replaced constructor injection with method injection
Since we need to maintain backwards compatibility for class constructors we should settle on using method injection instead of constructor injection. I've replaced the `Definition` class we're using with one that doesn't support constructor arguments and added a check for auto_arg addition. Note that we don't check for method existence in the extended container. This is because reflection is unnecessarily expensive and we should avoid it if at all possible.
2020-08-04 20:37:28 -07:00
Ron Rennick 52d67cead1 move trash posts/products from sequencer to local config 2020-08-04 19:55:13 -03:00
Ron Rennick 14c9154fcb use consistent MySQL configuration values 2020-08-04 16:17:00 -03:00
vedanshujain 1ada7d8b26 Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-08-04 18:22:41 +05:30
Nestor Soriano 200599f8e0 Add unit tests for the type of the value returned by 'get_available_variations' 2020-08-03 16:30:54 +02:00
Nestor Soriano 71fccd6a07 Fix: pagination controls not displaying in products list.
This bug was introduced in #26260. The sequence is:

1. WC_Query::adjust_posts_count runs, to handle found_posts filter,
   this indirectly executes wc_setup_loop.
2. At this point $GLOBALS['wp_query']->max_num_pages hasn't been set
   yet, and has a value of 0. Thus the loop variable total_pages
   is set to 0.
3. Later wc_setup_loop runs again and this time
   $GLOBALS['wp_query']->max_num_pages is already set, but since
   the loop variable total_pages already exists, it keeps its
   value of 0.
4. The pagination controls never show if total_pages is less than 2.

The fix consists of hooking into the_posts to set the value of
total_pages again, at that point $GLOBALS['wp_query']->max_num_pages
is already set.
2020-07-31 16:40:25 +02:00
Claudio Sanches 825d57dd41 Merge branch 'master' into fix/23790 2020-07-30 17:33:50 -03:00
Claudio Sanches 48974f29f1 Fixed unit tests for WC_Notes_Run_Db_Update 2020-07-30 17:00:11 -03:00
Claudio Sanches 1cd84d6446 Merge branch 'master' into fix/23790 2020-07-30 16:46:01 -03:00
Claudio Sanches 608fc8620d
Merge pull request #27172 from woocommerce/fix/27168
Let user stay in the same page after clicking to update WooCommerce
2020-07-30 15:48:27 -03:00
Jonathan Sadowski 163e10253a Release coupon holds when status it updated to cancelled regardless of recorded coupons 2020-07-30 10:35:23 -05:00
Néstor Soriano e44154bf6e
Update tests/legacy/unit-tests/util/class-wc-tests-wc-query.php
Fix small coding standards issue.

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-07-30 16:17:05 +02:00
vedanshujain 3a63d75e0f Merge branch 'master' of https://github.com/woocommerce/woocommerce 2020-07-30 17:55:11 +05:30
Nestor Soriano 86c88f1750 Fix: incorrect adjustment of post count in WC_Query.
PR #26260 introduced a handler for 'found_posts' filter in WC_Query
class in order to adjust the count depending on the visibility
of variation products. However the handler incorrectly assumed
that the filter was triggered only when listing products, when
actually it's also triggered for any post type e.g. pages.
In these cases the post count was set to zero, which caused bugs.

Now the handler starts with the originally supplied posts count,
and only decrements it when a post is a product AND is not visible.
2020-07-30 09:32:28 +02:00
Claudio Sanches 3c1132e274 Added unit tests for wc_get_current_admin_url() 2020-07-29 21:02:52 -03:00
Christopher Allford 78bff3b2da Added the parent's SKU to product searches for variations
Since the parent's SKU is used when the variation does not have one, we should fall back when searching for consistency.
2020-07-29 16:53:36 -07:00
Ron Rennick ba942aa32f expose getAppRoot, getTestConfig in package 2020-07-29 20:03:29 -03:00
Ron Rennick 09a594443d restore non-dev puppeteer config, move test config to sequencer 2020-07-29 18:57:59 -03:00
Ron Rennick d4620b5351 merge master 2020-07-29 15:25:11 -03:00
Ron Rennick 1e365733b4 add local puppeteer config support 2020-07-29 15:13:22 -03:00
Néstor Soriano 0f134ca6a2
Merge pull request #27054 from woocommerce/fix/27036
add/update correct deprecated notices on existing deprecations
2020-07-29 15:20:24 +02:00
Ron Rennick d9e9faaa44 use @automattic/puppeteer-utils 2020-07-28 16:29:19 -03:00
Claudio Sanches 119b5d6568
Merge branch 'master' into fix/23790 2020-07-28 13:07:17 -03:00
Ron Rennick e78beaf569 move jest/puppeteer related packages to environment package 2020-07-28 12:00:46 -03:00
Nestor Soriano 681401850a Adjustments in the items count calculation on the nav filtering widget.
The calculations are now consistent with the change made to the
visibility of the variable products when using one or multiple filters.
2020-07-28 09:01:55 +02:00
Nestor Soriano 29843b9396 Change in the logic of is_visible_core for variable products
Now, if there are filters present the logic is as follows:

- For multiple filtering values of the same attribute:
  the product is visible if there's at least one variation
  that has one of the filtering values associated to the attribute,
  or if there's at least one variation having the attribute
  with a value of "Any".

- For filtering by more than one attribute:
  the product is visible if there's at least one variation that
  is visible for ALL the attributes according to the above rule.

Note that this is irrespective of the type of logic configured for
the filter (OR or AND).
2020-07-28 09:01:52 +02:00
Nestor Soriano 3fefe84a51 Fix: WC_Query()::adjust_posts_count failing when posts list is null. 2020-07-28 08:55:55 +02:00
Nestor Soriano 9142e27a19 Adjustments in WC_Query::adjust_posts_count
Two adjustments were needed:

- Adjust the count even when there's no nav filtering in the query.
  This is necessary to present the proper products count.
  even when the woocommerce_product_is_visible filter is used.
- Account for the case where $GLOBALS['wp_query']->posts
  returns objects instead of ids (for example when viewing
  a product page).
2020-07-28 08:55:55 +02:00
Nestor Soriano 9de1306c21 Fix counters in nav filtering widgets for variable products.
After the change that registers variation attributes as terms
(in addition to reigstering them as post meta) it is now time
to modify the get_filtered_term_product_counts methods in
WC_Widget_Layered_Nav so that it works consistently for both
variable and non-variable products. The logic for the counters
is now as follows:

with OR operator:
- Simple products: count the attributes of all visible products
  (unchanged behavior).
- Variable products: count attributes corresponding to
  visible variations.

with AND operator:
- Simple products: count the attributes of visible products but only
  for products that have all the selected (unchanged behavior).
- Variable products: find all the products for which all the variations
  corresponding to the selected attributes exist and are visible,
  then count the attributes corresponding to the visible variations
  of those products.

A product is "visible" if it's published, not excluded for catalog,
and has stock. Additionally, a variable product will not be considered
visible if the parent product is not.
2020-07-28 08:55:55 +02:00
Nestor Soriano 9c6c0d73d8 Record attribute terms for product variations in wp_term_relationships.
Product attributes are currently recorded as terms in
wp_term_relationships (product attributes are actually taxonomies).
In the case of variable products this is true for the main product,
but not for the variations. The attributes used to define variations
are stored as post meta, but nothing is recorded in the term
relationships table.

This is a problem when using the layered nav filtering plugin,
since the attribute counters displayed are calculated based solely
on the contents of the term relationships table. Adding meta queries
would be really messy (especially when the widget is configured
with AND operator) and would probably also hurt performance.

This commit adds a change to store the attributes for variations
as term relationships, additionally to storing them as post meta.
Terms are stored on variation creation, and updated/deleted together
with the variation as appropriate. "Any" variations (stored in meta
as empty values) are not stored as terms.

Additionally, a database upgrade is included in order to backfill
terms for already existing products.
2020-07-28 08:55:55 +02:00
Nestor Soriano e1265bfa25 Refactor WC_Helper_Product by extracting duplicated code to methods.
The new methods are create_product_variation_object and
create_product_attribute_object, they are public.
2020-07-28 08:55:55 +02:00
Nestor Soriano 50e8f27bc7 Fix visibility of variable products with layered nav filtering.
The layered nav filtering doesn't work well with variable products
when some variations have stock and other don't. When a term is
selected in the widget, a variable product having no stock for
the variation corresponding to that term but having stock for
other variations will be displayed, but it shouldn't.

This commit fixes that by introducing two changes:

- A new override of "is_visible" for WC_Product_Variable that
  looks at the supplied filters, compares them against the corresponding
  available variations and calculates the visibility based on
  the query type (OR or AND).

- A hook on the "found_posts" filter in WC_Query, that adjusts
  the posts count based on the found products visibility
  when there are filters available; this is needed to sync the
  "displaying X posts" messages and the paging when variable
  products are hidden due to stock status.

Additionally, the visibility calculated in "found_posts" is cached
as loop variables so that it isn't calculated again when actually
displaying the products.
2020-07-28 08:55:52 +02:00
Nestor Soriano c27283dffe Fix code sniffer errors in some files.
Fixed files:

includes/abstracts/abstract-wc-product.php
includes/class-wc-query.php
includes/wc-template-functions.php
includes/widgets/class-wc-widget-layered-nav.php
templates/loop/result-count.php
tests/unit-tests/util/class-wc-tests-wc-query.php
2020-07-28 08:47:29 +02:00
Christopher Allford 578b205b4e
Merge pull request #27123 from woocommerce/feature/jetpack-autoloader-upgrade
Upgraded Jetpack Autoloader to 2.0
2020-07-27 23:35:53 -07:00
Claudio Sanches de383971eb Reset all after test 2020-07-27 22:07:46 -03:00
Claudio Sanches 2043954ceb
Fixed class name 2020-07-27 21:53:28 -03:00
Claudio Sanches 0f091406df Test WC_Cart::show_shipping() 2020-07-27 21:52:33 -03:00
Christopher Allford 1868cd8aaa Adjusting the shipping task order in the E2E test for setup tasks 2020-07-27 15:18:27 -07:00
Christopher Allford edf1932ee9 Adjusted the OBW test for changes in WC-Admin 1.4.0 2020-07-27 14:38:43 -07:00
Claudio Sanches 4048d19a39 Added unit tests for coupon code sanitization 2020-07-27 17:44:04 -03:00
Christopher Allford ddc1f87f8d
Update README.md
Changed `npm install` suggestion to better suggest saving the dependencies as devDependencies
2020-07-27 13:30:39 -07:00
Matt Harrison e696ac7824
Queue all webhooks on shutdown.
It is possible for a later duplicate webhook to be fired too early if
the same webhook triggers in one request more than once with the updated
changes from the second one missing if it happens too quickly.
This queues all webhook to be register on shutdown instead of just
syncronous ones to make sure all data from the request is updated first
before the webhook gets queued.
2020-07-27 12:11:40 -04:00
Nestor Soriano cc118c0c10 Fixed the number of product types in the onboarding E2E test 2020-07-27 16:49:32 +02:00
Christopher Allford 4123d048e0 Fixed the number of industries in the onboarding E2E test 2020-07-27 07:08:54 -07:00
Claudio Sanches 7bd34e3545
Merge branch 'master' into fix/25843 2020-07-24 17:04:28 -03:00
Ron Rennick aca91f587d update version script to work in both desktop and Travis, add fallback versions 2020-07-24 17:02:33 -03:00
Claudio Sanches 419e5c239a
Fixed docblocks 2020-07-24 17:01:42 -03:00
Ron Rennick 96d73d2300
Merge pull request #27090 from woocommerce/update/wp-jest-preset-version
Update E2E env jest preset default version.
2020-07-24 14:39:55 -03:00
Ron Rennick 06e3ae9939 fix software version checks in Travis 2020-07-24 10:57:16 -03:00
vedanshujain f90699ddb9 Add more assertions in tests for order totals. 2020-07-24 19:12:25 +05:30
vedanshujain 0e7b064c02 Add more assertions in tests for round at subtotal. 2020-07-24 19:12:25 +05:30
vedanshujain 3aed8f1c85 Remove incorrect comments. 2020-07-24 19:09:59 +05:30
vedanshujain 7735eed314 Add unit tests and helpers for #26654 2020-07-24 19:09:59 +05:30
Néstor Soriano 8c2412ea7d
Merge pull request #26731 from woocommerce/feature/introduce-dependency-injection
Introduce a dependency injection framework
2020-07-24 15:12:16 +02:00
Ron Rennick eaafc88d33 add port configuration support 2020-07-24 10:12:07 -03:00
Nestor Soriano c2e28b2b05 Replace array_merge_recursive in MockableLegacyProxy with custom code
test_static_mocks_can_be_used_via_injected_legacy_proxy_and_woocommerce_object
was failing in PHP 7.0, this replacement fixes it.
Suspected cause: https://bugs.php.net/bug.php?id=76505
2020-07-24 14:51:37 +02:00
Peter Fabian 03230ecf01
Merge pull request #26642 from woocommerce/fix/26607
Limit stock changes for order items to status methods for consistency.
2020-07-24 13:23:53 +02:00
Nestor Soriano e55ef052a2 Add documentation about the container and good coding practices.
- src/README.md largely expanded
- tests/README.md expanded
- includes/README.md added
- src/Internal/REAMDE.md added

src/README.md and includes/README.md have TODO placeholders to add
guidelines regarding to actions and filters.
2020-07-24 09:25:12 +02:00
Christopher Allford 811ac747e6 Added callable reflection to `add_with_auto_arguments`
This allows the dependencies of the callable function to be automatically resolved out of the container too!
2020-07-24 09:25:12 +02:00
Nestor Soriano 408295720c Fix LegacyProxy::get_instance_of for classesd having an `instance` method.
Pass the arguments as `...$args` instead of `$args`.
Also fix related unit test, and remove unnecessary `is_function`.
2020-07-24 09:25:12 +02:00
Nestor Soriano bd1e6a5db0 Add the ContainerException class, use it for dependency injection related errors. 2020-07-24 09:25:12 +02:00
Nestor Soriano 65b5cbe692 Improve AbstractServiceProvider::add_with_auto_arguments
If a class name is passed as a concrete, check that the class
constructor is public if it exists. If another type of concrete is
passed, check that it's valid (a callback or an object).

Also update the autoloader to check if the class file exists,
otherwise class_exists fails if a namespaced class doesn't exist.
2020-07-24 09:25:11 +02:00
Nestor Soriano 6fd84a0401 Add shortcut methods for the LegacyProxy in the WooCommerce class.
The following methods are added and can be invoked using `WC()`,
they just redirect to the same methods in LegacyProxy:

call_function
call_static
get_instance_of
2020-07-24 09:25:11 +02:00
Nestor Soriano abf53086ca Remove @throws annotation from some unit tests. 2020-07-24 09:25:11 +02:00
Christopher Allford 53e1f23af5 Moved autoloading of `Automattic\WooCommerce\Testing\Tools` namespace into test bootstrap
Since we need to load all of these files before WooCommerce has initialized we can't rely on Composer to handle the autoloading. We should take this namespace out of Composer altogether and just have our test autoloader take care of it.
2020-07-24 09:25:09 +02:00
Nestor Soriano 29cf161415 Small changes after review feedback:
- Method and class renames.
- Removed unnecessary autoloader registration.
- Add a unit test for classes with non-object type hints
  in constructor arguments.
2020-07-24 09:24:06 +02:00
Nestor Soriano 1684ce08b3 Removed annotations as we're not going to use them. 2020-07-24 09:24:06 +02:00
Nestor Soriano 4ec143532c Adjustments in the LegacyProxy class.
- `get_instance_of` accepts now arguments to be passed to the
  class constructor if necessary.
- `get_special_instance_of` method removed, instead, now if a method
  named `get_instance_of_<lowercased class name>` exists in the class,
  it is used to get the instance of the class.
- A couple more unit tests added.
2020-07-24 09:24:06 +02:00
Nestor Soriano 282d1dab86 DependencyManagement code folder moved inside an Internal folder. 2020-07-24 09:24:06 +02:00
Nestor Soriano c1ed403dd0 Add `@public` to `FunctionsMockerHack`.
Also to a couple of methods related to the code hacker.
2020-07-24 09:24:06 +02:00
Nestor Soriano 044a79d941 Added unit tests for `LegacyProxy` and `MockableLegacyProxy`.
Also:

- Added sutoloader for the `tests/tools` directory.
2020-07-24 09:24:04 +02:00
Nestor Soriano c9154d071c Add tests for `AbstractServiceProvider` and `ExtendedContainer`.
Also:

- Make the methods in `AbstractServiceProvider` protected.
- Add an autoloader for files in the `tests/php/src` directory.
- Fix a bug in the provisional (?) autoloader.
2020-07-24 09:23:05 +02:00
Nestor Soriano d55f7d10f8 Some small imrpovements in the dependency injection framework:
- camelCase methods changed to snake_case for consistency with WP.
- Added a check in `ExtendedContainer::get` that throws an informative
  exception if a non-namespaced class name is passed.
- `container->reset_resolved()` is called during unit testing bootstrap.
- Added some utility methods in `WC_Unit_Test_Case`.
2020-07-24 09:23:05 +02:00
Nestor Soriano ca9ed93b9a Added dependency injection infrastructure for unit tests:
- Added a new class `ExtendedContainer` that extends League's container.
  - `add` modified to reject classes not in the root Woo namespace.
  - Has two new methods, `replace` and `reset_resolved`.
  - It's used as the underlying container instead of League's one
    in `Container`, but the new methods are not exposed.
- At unit test bootstrap time the globally registered container is
  replaced with the extended one that `Container` stores
  (grabbed from private property using reflection).
- A new `MockableLegacyProxy` is added. It inherits from `LegacyProxy`
  and allows to mock functions, static methods and legacy classes.
  - The registeed `LegacyProxy` is replaced with the mockable version
    during unit test bootstrap.
- A PHPUnit hook is added to reset the mockable proxy to its initial
  state (so that nothing is mocked) before each test.
- `WC_Unit_Test_Case` gets helper methods to mock functions, static
  methods and classes without having to retrieve the proxy class.
2020-07-24 09:23:05 +02:00
Claudio Sanches 64f4fb85e2 Move variation validation logic to add to cart 2020-07-23 19:10:42 -03:00
Ron Rennick 4cffb9b95c eliminate project root docker-compose.yaml 2020-07-23 15:38:40 -03:00
Ron Rennick 28b537662a add PHP, MariaDB, WP env var version support 2020-07-23 14:30:24 -03:00
Tam Mullen 86da271e6e
Merge pull request #27063 from woocommerce/fix/e2e-obw-4.3
Fix OBW e2e test in WC 4.3: Scroll Home Screen tasks list into view for the `Set up shipping` click to work
2020-07-23 15:48:18 +01:00
vedanshujain 5a784bc1e4 Keep only unit test files for merge into core. 2020-07-23 00:07:29 +05:30
vedanshujain e42b97e7ea Add 'tests/legacy/unit-tests/api/' from commit '5335083922d350e73eaf0e8370d8335e1b076b55'
git-subtree-dir: tests/legacy/unit-tests/api
git-subtree-mainline: 2d39467fb4
git-subtree-split: 5335083922
2020-07-22 23:56:29 +05:30
Jeff Stieler 76e42fec98 Update E2E env jest preset default version.
6.x.x will update the weak ref detection dependencies.
2020-07-21 13:51:16 -04:00
Christopher Allford 840554d788
Merge pull request #27017 from woocommerce/fix/25480
Fixed the `shipping_zone_method` CLI command's instance_id parameter
2020-07-20 11:00:08 -07:00
Christopher Allford 636327c110
Merge pull request #27043 from woocommerce/fix/unit-test-suite
Test Suite & Namespace PHPCS Changes
2020-07-20 08:40:00 -07:00
Mike Dent 541f68363e Test code updated, with thanks to @ObliviousHarmony 2020-07-20 15:45:13 +01:00
Ron Rennick d3ab19b7cf eliminate internal use of deprecated functions
- remove deprecation of offsetGet as it is used throught abstract order
- eliminate use of offsetGet in unit tests, structured data, order functions
-
2020-07-17 17:14:26 -03:00
Julia Amosova 10bfb679eb Scroll home screen tasks list into view for the click to work 2020-07-17 12:44:46 -04:00
Claudio Sanches 86311a9903
Merge pull request #27046 from woocommerce/fix/26860
[Importer/Exporter] Fixed the value display of "Published" for children of draft variable products
2020-07-16 13:15:31 -03:00
Ron Rennick dbf3e99292
Merge pull request #26964 from woocommerce/fix/24604
add rating count to order by rating clause
2020-07-16 10:51:20 -03:00
Damir Ha 161eb4a320 Add test postcode validation for Bosnia and Herzegovina 2020-07-16 13:57:44 +02:00
Néstor Soriano 24bd19c517
Merge pull request #27038 from woocommerce/add/26192
Add existing meta keys to woocommerce_duplicate_product_exclude_meta filter
2020-07-16 11:02:09 +02:00
Claudio Sanches 156b061602 Added unit tests for importer and exporter 2020-07-15 21:49:26 -03:00
Christopher Allford b71ddd35f1 Added sniffs to enforce PSR-4 in the `src` and `tests/php/src` directories 2020-07-15 16:09:00 -07:00
Christopher Allford f72b8db576 Added some exceptions to the PHPCS standards for unit tests
The file comments and @throws tags are unnecessary in unit tests.
2020-07-15 14:29:13 -07:00
Christopher Allford 55385f6cec Moved the orphaned unit test into the correct directory 2020-07-15 14:21:34 -07:00
Christopher Allford 13536bef5b Corrected the WCInstallTest filename
It is in the `includes` test section and should have the same filename as the corresponding class.
2020-07-15 14:20:26 -07:00
Christopher Allford fdee8dceaf Moved test to correct directory 2020-07-15 07:08:09 -07:00
vedanshujain aabf4bfe37 Add unit tests. 2020-07-15 15:27:34 +05:30
Christopher Allford c9f754f5a3 Added the existing meta keys to the `woocommerce_duplicate_product_exclude_meta` filter 2020-07-14 13:57:21 -07:00
vedanshujain af401a7d80 Add unit test 2020-07-14 23:32:12 +05:30
Nestor Soriano fc0be07e0f Add unit test for WC_Admin_Post_Types::bulk_and_quick_edit_save_post.
The test added checks that the new regular or sale price is
appropriately set when bulk saving.
2020-07-14 11:42:21 +02:00
Nestor Soriano 320fa38c51 Improve WC_Helper_Product::create_simple_product.
Add a new optional $props parameter containing the properties
to be set in the newly created product.
2020-07-14 11:42:21 +02:00
Nestor Soriano 4531af3382 Small fix in WC_Tests_Admin_Post_Types::bulk_and_quick_edit_stock_status_for_variable_product.
At some point the 'change_stock' key is assumed to be present
in the request data, but it might not. Fixed to test for existence
before using the value.
2020-07-14 11:42:21 +02:00
Nestor Soriano e05aa8a03a Add unit test for WC_Admin_Post_Types::bulk_and_quick_edit_save_post.
The test added checks that stock status of variations when saving
a variable product is changed or not appropriately depending on
the request data supplied.
2020-07-14 11:42:21 +02:00
Nestor Soriano a3ee904081 Add login_as_role and login_as_administrator to WC_Unit_Test_Case.
Those methods are a convenient replacement for
"this->factory->user->create". Tests that were using that to
simulate user login have been modified to use the new methods.
2020-07-14 11:42:21 +02:00
Nestor Soriano 9c2a43bfd5 Fix code sniffer errors in a few unit test files. 2020-07-14 11:42:21 +02:00
Christopher Allford 6cd4079c8a Added a test to verify the rating ordering for products 2020-07-13 13:35:00 -07:00
Christopher Allford 16c5ac401a Adjusted the publish configuration to respect the @woocommerce scope 2020-07-13 10:05:17 -07:00
Mike Dent 53d9085c16 Fixed indent and incomplete test code. 2020-07-12 19:26:57 +01:00
Mike Dent cf9db99a9f "Hidden" field type added to woocommerce_form_field() #26468 2020-07-12 16:38:36 +01:00
Christopher Allford 933cdd7a7b Removed the default `id` field added to all CLI commands
Some of our endpoints don't have an "<id>" parameter but we're expecting one in the CLI. Since the `id` is already part of the supported IDs we don't actually need this since it will pull it from the route.
2020-07-10 14:16:30 -07:00
Christopher Allford e4d90f10c3 Corrected the tabs in the README.me 2020-07-02 15:28:19 -07:00
Christopher Allford 51467f4683 Added a registry for adapters and factories to be held in globally 2020-07-02 14:43:14 -07:00
Christopher Allford b5e1e1cc8a Added a readme documenting the usage of the model factory package 2020-07-02 14:39:18 -07:00
Christopher Allford 822179e4ac Renamed the e2e-factories package to better reflect its usage-agnostic design 2020-07-02 14:16:01 -07:00
Christopher Allford 5652025d28 Removed unused adapter types 2020-07-02 13:56:48 -07:00
Christopher Allford d8beef56b5 Added support for faker to populate models with dummy data 2020-07-02 13:33:30 -07:00
Christopher Allford 4373c7be1b Moved the factory package init into a common utility 2020-07-02 13:13:23 -07:00
Christopher Allford 9b18a95f93 Adjusted the build:packages command to allow each package to build itself 2020-07-02 11:59:41 -07:00
Christopher Allford f1a616e026 Made the model properties compliant with code style 2020-07-02 10:56:21 -07:00
Christopher Allford 3e69dd3a64 Replaced the `createSimpleProduct` helper with a usage of the factory 2020-07-02 10:50:56 -07:00
Christopher Allford f11a47693b Refactored interceptors to support different authentication styles 2020-07-02 10:03:35 -07:00
Christopher Allford 85833f137c Fixed a bug that would cause APIService failures to throw unhandled exceptions when creating 2020-07-01 22:08:18 -07:00
Christopher Allford c3de8f0d12 Adjusted the structure of the factory package for easier consumption 2020-07-01 22:07:27 -07:00
Claudio Sanches d3d8e74b58 Fixed unit tests for #26462 2020-07-01 18:13:29 -03:00
Christopher Allford 0785e6caa7 Merge branch 'master' into package/e2e-factories/product 2020-07-01 14:11:25 -07:00
Christopher Allford 68daac3a94 Added a utility for initializing all of the APIAdapters with a service 2020-07-01 13:58:12 -07:00
Christopher Allford b4c1f3ca8f Fixed the POST, PUT, and PATCH Axios service actions 2020-07-01 12:31:20 -07:00
Christopher Allford bc3e1b4555 Replaced the exported variables with functions to populate the registry 2020-07-01 12:08:08 -07:00
Christopher Allford e6e764320b Added a registry to hold all of the factories and adapters 2020-07-01 11:07:57 -07:00
Claudio Sanches 54f91a5a59
Merge pull request #26566 from woocommerce/update/26510-generate-order-key
Allow custom values in wc_generate_order_key()
2020-07-01 12:41:24 -03:00
vedanshujain 6a8f9a4abe Disabled flaky test 2020-07-01 19:09:50 +05:30
vedanshujain 836d764c67 Add tests 2020-07-01 19:09:07 +05:30
Christopher Allford 627bd5a99a Simplified the package directory structure 2020-06-30 21:37:17 -07:00
Christopher Allford c23f52aedf Created a base ModelFactory for all factories to extend 2020-06-30 19:00:42 -07:00
Christopher Allford 3e2e03d48a Fixed the URL being passed to the OAuth package 2020-06-30 16:01:47 -07:00
Christopher Allford 603a5e7812 Changed the structure of error responses
In practice having the response class contained within the error feels a little backwards. We can instead have a structured APIError model that is contained in the APIResponse and have a consistent response format to consume.
2020-06-30 16:01:12 -07:00
Christopher Allford 7500cc004d Added a skeleton product factory for testing 2020-06-30 13:05:25 -07:00
Christopher Allford 4aa9360ba7 Added an adapter to support creating models via the API 2020-06-30 12:50:15 -07:00
Claudio Sanches c3608f3b57
Merge pull request #26878 from woocommerce/fix/26787
Moved synchronous webhook execution into a shutdown function
2020-06-30 16:34:12 -03:00
Nestor Soriano 391474c5ef Fix code sniffer errors in class-wc-tests-product.php 2020-06-29 15:20:49 +02:00
Nestor Soriano 9aa3c54bd9 Fix variable product stock status not being properly set on save
When a product is saved its validate_props method is invoked,
and this recalculates the stock_status property based on whether
the product manages stock or not, the stock quantity, and the
value of the woocommerce_notify_no_stock_amount option.

In the case of variable products, and when stock is managed, the stock
was set to "instock" when the current stock was enough, but only
if the "stock_quantity" property was in the list of changed properties
for the object (the method in the base product class doen't check
for changed properties). This is a problem because the
wc_update_product_stock function updates stock_quantity but via direct
database modification, and thus stock_quantity isn't considered
modified. Therefore stock modifications via wc_update_product_stock
don't update stock_status on the product (e.g. when going from 0 to 1
after a refund the stock status will remain as "outofstock").

The fix consists of removing the check for changed properties since
it's not done anyway in the other cases (when stock is below the
woocommerce_notify_no_stock_amount threshold) nor in the base class.

Also, validate_props is refactored for readabiliyy, and an useless
set_stock_status() call placed right before save()
in wc_update_product_stock is removed.
2020-06-29 14:32:17 +02:00
Néstor Soriano 7b3e902952
Merge pull request #26629 from woocommerce/fix/25552
Schedule a deferred product sync for products with parent on delete.
2020-06-29 14:15:10 +02:00
Christopher Allford 7331036d17 Moved synchronous webhook execution into a shutdown function
One of the problems with synchronous webhooks is that they are executed as soon as the related action is. Since we may call an action multiple times in the process of updating something, this causes only the first action to trigger the hook. This differs from asynchronous execution because in that case, the web hook will be executed after the entire request has completed.
2020-06-25 16:54:17 -07:00
Christopher Allford ddbbbbc078 Adjusted the TypeScript configuration to use the --build flag 2020-06-24 16:08:28 -07:00
Christopher Allford 6ad8b57f2e Added formatting requirements to the code style 2020-06-24 14:47:46 -07:00
Christopher Allford 4e02ce7afd Moved the Axios response/error transformations into an interceptor 2020-06-24 11:35:04 -07:00
Christopher Allford 9908a84d0e Added a service for interacting with the WordPress API
We've hid the use of Axios behind a service so that we're able to easily mock it out in factories as well as handle the creation and configuration of the client. This will make it easier on consumers in that they won't have to worry about things like authentication when using the API.
2020-06-23 13:15:26 -07:00
Ron Rennick e1c16ba7ef remove setup unit tests 2020-06-23 16:19:54 -03:00
Christopher Allford 031bb6593f Fixed the usage of baseURL with the APIAuthInterceptor 2020-06-23 11:53:00 -07:00
Christopher Allford 323d06744c Adjusted the APIAuthInterceptor to be more explicitly Axios-specific 2020-06-22 12:10:45 -07:00
Ron Rennick 59f2bdbe46 add template cache unit test 2020-06-22 16:05:29 -03:00
Ron Rennick ee151bbd95 Merge branch 'master' into add/npm-publish 2020-06-22 13:46:54 -03:00
Christopher Allford dd74c3db45 Removed build artifact 2020-06-20 18:46:59 -07:00
Christopher Allford 2a3b1b3780 Adjusted the package to better support NPM distribution 2020-06-20 18:25:19 -07:00
Christopher Allford 9f1decd4c6 Added an interceptor to handle WooCommerce API authentication 2020-06-19 12:08:48 -07:00
Christopher Allford 5e15271f95 Excluded test files from the TypeScript build 2020-06-18 09:43:11 -07:00
Christopher Allford 1418b68910 Initial configuration for e2e-factories package 2020-06-17 15:51:28 -07:00
Julia Amosova 281057eee8 Adjust various conditions of the OBW e2e test to make it pass 2020-06-17 17:20:12 -04:00
Ron Rennick 239476ddc5 create ready page after initialization script 2020-06-16 12:29:43 -03:00
Peter Fabian 418d95298a Merge branch 'master' into update/wc-admin-1.3.0-beta-1
# Conflicts:
#	composer.lock
2020-06-16 14:58:43 +02:00
Peter Fabian bb2cf2e8dc Removed deprecated method call. 2020-06-16 13:18:05 +02:00
Peter Fabian c35c4f1f08
Merge pull request #26395 from woocommerce/revert-26226-revert-25708-update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-06-16 11:38:10 +02:00
Vedanshu Jain 60ffc7ab99
Merge pull request #26583 from woocommerce/fix/26582
Fix regression caused by merging #25092 conflicting with #24828
2020-06-12 15:13:21 +05:30
Peter Fabian 296112cbea
Merge pull request #26237 from woocommerce/fix/24000
Fix adding product variant to cart using `add-to-cart` parameter (#24000)
2020-06-11 13:13:12 +02:00
Peter Fabian 439562e854
Merge pull request #23971 from woocommerce/refactor/23783
Better template caching for container environments
2020-06-11 10:13:46 +02:00
Vedanshu Jain b45373fe0c Revert "Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout"" 2020-06-05 15:18:01 +05:30
Vedanshu Jain 6564847802
Merge pull request #26454 from woocommerce/enhancement/verify-db
Add `verify_base_db` method to check if all base tables are present.
2020-06-05 15:15:39 +05:30
Ron Rennick 0265e027ef
Merge pull request #26637 from woocommerce/fix/wc_timezone_string
use wp_timezone_string when available
2020-06-03 15:41:47 -03:00
Claudio Sanches 4922c34180
Merge pull request #26136 from woocommerce/feature/code-hacker-for-unit-tests
Code hacker for unit tests
2020-06-03 08:41:28 -03:00
Nestor Soriano 32dac2486f Update autoload-dev in composer.json to add tests/tools directory
The mapping of the "Automattic\WooCommerce\Testing\Tools\" namespace
to the "tests/tools" directory is moved from manual registration
inside the tests bootstrap constructor to a declaration inside the
autload-dev section in composer.json.
2020-06-03 09:28:54 +02:00
Nestor Soriano bfda3f9938 Code hacker resdesign for single-load of code files.
The code hacker as originally designed, as a mechanism that allowed
to enable hacks at the individual test level, is flawed because it
assumes that code files are loaded before each test, but actually
the PHP engine loads code files only once.

Therefore this commit redesigns it so that the two existing main hacks,
the functions mocker and the static methods hacker, are applied
to all the relevant functions and classes at bootstrap time, and
mocks for each individual function/method can be registered at the
beginning of each test. See README for the full details.
2020-06-02 19:06:53 +02:00
Claudio Sanches 6afbed0c14 Fixed coding standards 2020-06-01 23:55:17 -03:00
Ron Rennick 1215844b05 update timezone unit tests to support WP 5.3/5.4 2020-05-29 08:29:35 -03:00
Ron Rennick 7fbe912e19 use wp_timezone_string when available 2020-05-29 07:54:43 -03:00
Nestor Soriano b43679c181 Schedule a deferred product sync for products with parent on delete.
Right now, when a product having a parent (e.g. a variation having a
parent variable product) is saved, wc_deferred_product_sync is
executed so that product sync is performed at the end of the request.
This commit implements the same when the product is deleted.
2020-05-28 14:07:51 +02:00
Peter Fabian 2394da73b4 Merge branch 'master' into refactor/23783 2020-05-28 11:19:03 +02:00
Peter Fabian 30fe1cde72 Moved unit tests to the new location. 2020-05-28 11:18:47 +02:00
vedanshujain bbb7600f87 Add unit test for calculation based on rounding pref 2020-05-27 23:55:46 +05:30
vedanshujain d904db815d Disable flaky test which was causing many calculation tests to fail. 2020-05-27 23:53:20 +05:30
vedanshujain af942a131a Add test to ensure that verify_base_table also creates table if needed. 2020-05-26 23:46:58 +05:30
vedanshujain 57d336433a Fix regression caused by merging #25092 conflicting with #24828 2020-05-22 22:08:42 +05:30
vedanshujain 418741a0b2 Add unit test for verify_base_tables function 2020-05-22 18:32:04 +05:30
Christopher Allford 2953df2c5d
Merge pull request #26529 from woocommerce/fix/e2e-403-errors
use nonced logout link for store owner logout
2020-05-21 10:44:10 -07:00
Ron Rennick 47aab8c56b
Merge pull request #26522 from woocommerce/tweak/e2e-tests-suite
Tweaks to e2e tests suite README
2020-05-21 13:15:04 -03:00
Claudio Sanches 5d034b83a9 Allow custom values in wc_generate_order_key() 2020-05-20 17:41:22 -03:00
Nestor Soriano 2a68bb018d Move testing tools to the tests/Tools directory
The testing tools (only the code hacker at this time) have been moved
from 'src' to 'tests/Tools', since many opcode cache plugins
load the whole src folder in production.

Also, an extra autoloader is set in the tests bootstrap so that
the 'tests/Tools' directory corresponds, using PSR4, to the
'Automattic\WooCommerce\Testing\Tools' namespace.
2020-05-20 09:57:39 +02:00
Nestor Soriano 8a7d955253 Improvements on the code hacker.
- Add methods to temporarily disable and reenable the code hacker.

The code hacker is causing issues in some tests that perform
write operations to the local filesystem. Since this happens only
in a few cases, the easiest fix is to temporarily disable the
code hacker when that happens. This commit adds two new methods
for that in `WC_Unit_Test_Case`: `disable_code_hacker` and
`reenable_code_hacker`.

These methods use a disabling requests count so that the hacker
isn't enabled before it should. E.g. you call `disable`, then
a helper method that does `disable` and `enable`, then `enable` -
then only the last `enable` will have effect.

- `CodeHacker::add_hack` has now a boolean `persistent` parameter.
Persistent hacks won't be cleared by `clear_hacks`.

- `CodeHackerTestHook::executeAfterTest` will now disable the hacker
only if no persistent hacks are registered.

- The existing `file_copy` method is made static for consistency.

- `CodeHacker::restore` method renamed to `disable` for clarity.
2020-05-20 09:56:26 +02:00
Nestor Soriano 6f2e0bf694 Improve error messaging in WC_Tests_MaxMind_Database::test_download_database_works 2020-05-20 09:56:25 +02:00
Nestor Soriano 884fd08462 Add a workaround for code hacking static methods on already loaded files.
The unit testing bootstrap loads and initializes WooCommerce, this
loads a bunch of code files that can't then be hacked in the test hooks.

A workaround is provided in this commit for the case of hacking
static methods. A new StaticWrapper class is created that allows
defining mock methods after the code file has been loaded.
This is applied to all classes from a fixed list in the bootstrap,
before WooCommerce is initialized. The list should be kept up to date
with the list of classes that require such workaround.
2020-05-20 09:56:25 +02:00
Nestor Soriano 57845ef8b8 All code hacking files moved to src\Testing folder. 2020-05-20 09:56:25 +02:00
Nestor Soriano 1a68abbc28 Miscellaneous code hacking fixes:
- Fix how CodeHackerTestHook::executeBeforeTest parses the test name,
  to account for warnings and tests with data sets.

- CodeHackerTestHook now includes a executeAfterTest hook that
  disables the code hacker (needed to prevent it from inadvertently
  altering further tests). Also, clear_hacks is executed in
  executeBeforeTest for the same reason.

- CodeHacker gets restore, clear_hacks and is_enabled methods
  to support the changes in CodeHackerTestHook.

- FunctionsMockerHack fixed so that it doesn't modify strings
  that are class method definitions.

- Added the WC_Unit_Test_Case::file_copy method, it must be used
  instead of the PHP built-in "copy" in tests, otherwise tests
  that run with the code hacker active will fail.
  This is something to investigate.
2020-05-20 09:56:25 +02:00
Nestor Soriano 9a5b3b353d Add the @hack code annotation for tests.
Now @hack class and method annotations can be used to register
code hacks as an alternative to using before_ methods.
The syntax is /* @hack HackClassName param1 param2 */
where parameters will be passed to the class constructor.
If the class name ends with "Hack", then that suffix can be
omitted (e.g. "Foo" can be specified instead of "FooHack").
2020-05-20 09:56:25 +02:00
Nestor Soriano db58b51de3 Barebones implementation of a code hacker for unit tests.
The "code hacker" is a class that hooks on filesystem events
(using stream_wrapper_unregister) in order to allow for dynamically
modifying the content of PHP code files while they are loaded.
The code hacker class allows registering hacks, which are
functions that take source code as input and return the modified code.
A hack can be a standalone function or a class with a "hack" method.

A few hacks are provided off the shelf. One allows mocking standalone
PHP functions (WP, WOO or not), another one allows mocking static
methods, and there's the one that removes the "final" qualifier
from a class definition. This helps unit testing stuff that would
otherwise be quite hard to test.
2020-05-20 09:56:25 +02:00
Vedanshu Jain 7fb1079137
Merge pull request #26399 from woocommerce/fix/uploads_htaccess
Disable directory listing for redirect download method
2020-05-19 15:56:37 +05:30
Ron Rennick 617a523057 fix merge conflicts 2020-05-18 12:34:03 -03:00
Claudio Sanches eea062f9fa
Merge pull request #26519 from woocommerce/fix/csv-import-special-columns
Fixed the case conversion for meta key column mapping in product CSV imports
2020-05-18 11:33:50 -03:00
Ron Rennick 07c6075dde use nonced logout link for store owner logout 2020-05-15 16:58:50 -03:00
Boro Sitnikovski f34e73d402 Add a comment on @babel/preset-env 2020-05-15 11:28:21 +02:00
Boro Sitnikovski ad3b9fc861 Fix version mismatch error 2020-05-15 11:21:59 +02:00
Boro Sitnikovski b01f3aae93 Add some additional information and be specific about babel file 2020-05-15 11:21:34 +02:00
Peter Fabian 2f141eca77 PHPCS 2020-05-15 09:40:23 +02:00
Christopher Allford 7bf9c31f64 Adjusted the column name normalization to avoid squashing meta key case sensitivity
Since we were converting the field to lowercase we ended up inserting meta in all lowercase, regardless of what it was in the CSV file. We should only be using the normalized field name when looking at the default columns, and should instead rely on a case-insensitive regex for the special columns.

One thing to note is that we're still defaulting the $headers array to the normalized field, as we don't want to change what is being passed to the filter for unmapped columns.
2020-05-14 21:20:55 -07:00
Christopher Allford 63ba6f7ee0 Moved the PSR-4 namespaced test directory to the correct folder
I know this probably doesn't belong in this PR, but it has been thoroughly discussed and I don't think anyone will mind :)
2020-05-14 21:20:47 -07:00
Peter Fabian 777c140611 Skip tests when WC Admin is not active.
Since those Notes were created because of WC Admin and the display is handled by WC Admin, it does not make sense to test them without WC Admin.
In addition, the data store that handles these Notices is not loaded without WC Admin.
2020-05-14 14:35:09 +02:00
Peter Fabian 2c1625d3f9 Added a couple of tests for WC_Notes_Run_Db_Update, a poorly testable class. 2020-05-14 13:31:43 +02:00
Ron Rennick 3053942cf1 chore(release): publish
- @woocommerce/e2e-environment@0.1.5
2020-05-13 15:18:00 -03:00
Ron Rennick a433304757 additional changes
- Update @wordpress/e2e-test-utils to 4.6.0
- ignore all node_modules folders in the install
- remove missed package script
- bump component version
2020-05-13 15:14:18 -03:00
Claudio Sanches 1d99c343e7 Added unit tests 2020-05-12 15:36:25 -03:00
Christopher Allford ef8e7114b7 Merge branch 'privacy-exporter-group-description' of git://github.com/garretthyder/woocommerce into garretthyder-privacy-exporter-group-description 2020-05-12 09:40:17 -07:00
Ron Rennick df6e9e7894 bump e2e-environment to 0.1.4 2020-05-12 13:35:42 -03:00
Job 8fb72c8a1d Decapitalise "Better" in "Build a Better WooCommerce"
All titles and questions in the new onboarding wizards only capitalise names and the first letter of the sentence. This seemed a tiny bit off. (Literally tiny.)

Changed "Build a Better WooCommerce" to "Build a better WooCommerce"
2020-05-12 07:49:24 -07:00
Ron Rennick 02b649d17c use version of docker supported by trusty and newer 2020-05-11 22:58:45 -03:00
Ron Rennick ed135109e0 add e2e component build
- add build script
- update component for path changes
- bump component version
- move ready post creation to component
- update component readme
2020-05-11 15:54:12 -03:00
Vedanshu Jain 31b648d479
Merge pull request #26358 from woocommerce/fix/26348
Clear only plugin cache if WC header are not present to load with WC headers.
2020-05-11 18:14:39 +05:30
Ron Rennick e2af7e5d10
Merge pull request #26427 from woocommerce/docs/e2e-tests
update tests and e2e readme instructions, file locations
2020-05-11 09:16:38 -03:00
Ron Rennick dea4144be2 docker compose command line arg parsing for local and module 2020-05-08 16:26:30 -03:00
Vedanshu Jain 6d8ca7f4ef
Merge pull request #26056 from woocommerce/fix/fix_cart_unit_test
Fixes broken unit test
2020-05-08 23:52:01 +05:30
Claudio Sanches 73b71023ca Fixed cart get total unit test 2020-05-08 23:17:59 +05:30
yasiendwieb ad3a9e8bf3 fix issue in tax calculation at cart test case 2020-05-08 23:17:59 +05:30
Ron Rennick 72ff998033 remove npm e2e-CI script command 2020-05-08 14:29:02 -03:00
Ron Rennick 209b2edea9 chore(release): publish
- @woocommerce/e2e-environment@0.1.2
2020-05-08 14:09:39 -03:00
Ron Rennick e1c24c9f3e chore(release): publish
- @woocommerce/e2e-environment@0.1.1
2020-05-08 14:00:46 -03:00
Ron Rennick 4f908c452d update tests and e2e readme instructions, file locations 2020-05-08 11:24:43 -03:00
Ron Rennick 0f2fb4f8d5 fix merge conflicts 2020-05-06 14:05:00 -03:00
Ron Rennick 0e2e91371a update for review items 2020-05-06 13:29:13 -03:00
Joshua T Flowers 43ab840e1a
Add a put method to the WC_Helper_API (#26262)
* Merge wc api authorization headers with given headers

* Add put method to WC_Helper_API

* Add unit test coverage around WC_Helper_API request methods

* Add tests for WC_Helper_API url method
2020-05-06 19:25:23 +03:00
Jonathan Sadowski a0a8cf7ab3 Add test to ensure that a notice is displayed when an any attribute is omitted 2020-05-05 14:16:01 -05:00
Jonathan Sadowski 53c905f493 Reset request vars in any attribute test 2020-05-05 13:32:15 -05:00
Jonathan Sadowski c0a72c9185 Reset notices at the start of each test 2020-05-05 13:32:15 -05:00
Jonathan Sadowski 3f47608228 Test adding a variation with 'any' attributes 2020-05-05 13:32:15 -05:00
Jonathan Sadowski 790c8ae8ae Update the test to make sure there are no error notices 2020-05-05 13:32:15 -05:00
Jonathan Sadowski 3f70f70f3a Switch to assertCount for count assertions in test 2020-05-05 13:32:15 -05:00
Jonathan Sadowski 3d0bfd8ee2 Add test to check for notice when invalid attribute is provided for a variant 2020-05-05 13:32:14 -05:00
Jonathan Sadowski 31bdce3725 Fix typo in test_add_variation_with_url test (use British spelling of colour) 2020-05-05 13:32:14 -05:00
Jonathan Sadowski fc683bdb80 Update unit tests to account for issue 24000 2020-05-05 13:32:14 -05:00
vedanshujain 27ad4a552e Rename file and class to resemble PSR4 like convention for consistency. 2020-05-05 19:19:37 +05:30
Ron Rennick 97a6110ae4 combine puppeteer config files 2020-05-04 16:16:21 -03:00
vedanshujain f4e169f21e Moved test specific logic from bootstrap to test file 2020-05-02 00:31:54 +05:30
vedanshujain 13dfb8180f Add unit test and a sample Woo plugin file 2020-05-01 22:47:08 +05:30
Ron Rennick 71fb49dc06 restore latest default.json from master 2020-05-01 13:28:59 -03:00
Ron Rennick 78e777f25f restore travis e2e setup script 2020-05-01 10:18:21 -03:00
Ron Rennick 6726f6423d merge travis config files 2020-04-30 19:58:37 -03:00
Christopher Allford c0ecb79ba2
Merge pull request #26345 from woocommerce/refactor/phpunit-suite
Restructure PHPUnit Suite
2020-04-30 13:51:16 -07:00
Ron Rennick 7fbbbf6608 update travis config 2020-04-30 16:43:36 -03:00
Christopher Allford 98b6b973e8 Updated the tests readme to explain the purpose of our two test directories 2020-04-30 10:09:42 -07:00
Ron Rennick 0de3718770 change component name to e2e-environment 2020-04-30 14:01:42 -03:00
Ron Rennick b4fcfd93c2 rename test:e2e.json, remove redundant files 2020-04-29 11:22:11 -03:00
Christopher Allford 04ec11e90b Added a PSR-4 namespaced tests/php folder for tests written against new code in the src directory 2020-04-28 15:41:04 -07:00
Ron Rennick d41fbc7ff2 update folder structure, use WordPress 5.4 2020-04-28 19:09:39 -03:00
Ron Rennick da494be615 merge master 2020-04-28 16:13:30 -03:00
Vedanshu Jain 15f8eb04c4
Merge pull request #26230 from woocommerce/update/wc-admin-1.1.0
Update wc-admin version to 1.1.0
2020-04-28 19:05:50 +05:30
Julia Amosova b1bb4dfdb9 Add wait for the 'Proceed' button to become active in shipping task 2020-04-27 16:30:50 -04:00
Julia Amosova 46bc16de98 Update the number of fields expected within shipping task 2020-04-27 15:29:09 -04:00
Julia Amosova 3991647c94 Add shipping store location verification step in onboarding e2e test 2020-04-27 14:22:23 -04:00
Christopher Allford b5bd8225e8 Moved PHPUnit suite into tests/legacy 2020-04-24 13:53:40 -07:00
Vedanshu Jain ee119e0a7e
Revert "Introduce a `reserved stock` class and database table to prevent race conditions during checkout" 2020-04-21 15:37:21 +05:30
Christopher Allford caa1a6d475 Merge remote-tracking branch 'origin/master' into fix/update-minimum-version 2020-04-16 14:46:17 -07:00
Claudio Sanches e43dc9b8a2 Use assertContains 2020-04-16 18:06:18 -03:00
Claudio Sanches 02e3ec7e97 Use assertStringContainsString to compare images 2020-04-16 17:52:22 -03:00
Claudio Sanches a5bc29e26c Fixed unit test on WP 5.5 alpha 2020-04-16 00:25:32 -03:00
Jeff Stieler 17d3771273 Remove defunct E2E test runner script, add docker scripts to package file. 2020-04-15 11:17:48 -06:00
Jeff Stieler 622e47f29f E2E: add app-level node config dir to path. 2020-04-15 11:07:32 -06:00
Ron Rennick e8efb82b9e add install jest 2020-04-14 12:06:26 -06:00
Ron Rennick 9742085f01 move before script to bash 2020-04-14 12:06:26 -06:00
Ron Rennick 049d606b15 use consistent job name 2020-04-14 12:06:26 -06:00
Ron Rennick 812e500224 update test configuration to use e2e-env 2020-04-14 12:06:26 -06:00
Ron Rennick 393240a0f3 move e2e-env to tests/e2e-env 2020-04-14 12:06:25 -06:00
Ron Rennick 3d63ad48a3 Tweak configuration
- set executable on initialize.sh
- use pagename query string for ready page
- use environment vars for docker config
2020-04-14 12:06:25 -06:00
Ron Rennick c414eddf59 merge config from from https://github.com/woocommerce/woocommerce-admin/pull/3717 2020-04-14 12:06:25 -06:00
Julia Amosova 99b8c6facf Reorder benefits section testing in new OBW e2e test 2020-04-08 17:34:04 -04:00
Nestor Soriano 0eed82b3b7 Fix code standards violations introduced in #25092 2020-04-07 12:28:30 +02:00
Christopher Allford 09df1205de Updated the minimum PHP version to 7.0 2020-04-06 17:07:33 -07:00
Vedanshu Jain 3bf473517d
Merge pull request #25708 from woocommerce/update/reserve-stock-for-checkout
Introduce a `reserved stock` class and database table to prevent race conditions during checkout
2020-04-07 02:16:22 +05:30
Vedanshu Jain 057b352de7
Merge pull request #26016 from woocommerce/fix/26010
Setup Wizard: Default 100% of users to new OBW.
2020-04-07 02:10:09 +05:30
Vedanshu Jain 237463c39b
Merge pull request #25800 from woocommerce/fix/25748
Fixes tax rounding issues
2020-04-07 00:24:34 +05:30
vedanshujain ef17b148be Removed unused tax class prop 2020-04-06 12:49:46 +00:00
Vedanshu Jain e3eb30c509
Merge pull request #26066 from woocommerce/fix/26002
Fix/26002
2020-04-06 18:05:47 +05:30
Vedanshu Jain 52ded367f5
Merge pull request #26075 from woocommerce/fix/26015
Prune elements with display none to fix regression.
2020-04-06 18:03:45 +05:30
Néstor Soriano 13765d9e91
Merge pull request #25092 from leanzafrancesco/fix/25091
Fix/25091 - Wrong totals in orders with taxable and non-taxable products and percentage coupons
2020-04-06 12:31:07 +02:00
Christopher Allford a7c0dec33a Added a function to fetch all of the path define tokens that may be present in template paths 2020-04-05 13:21:50 -07:00
Christopher Allford 33e81654a9 Made the path tokenization deterministic
Since the tokens are replaced in a first-discovered first-replaced order, we may accidentally create tokenized paths like '{{ABSPATH}}/test' instead of the desired '{{WP_CONTENT_DIR}}test'. By ordering them according to specificity however, we ensure that we tokenize as much of the path as possible.
2020-04-05 12:41:39 -07:00
Christopher Allford 4aab99614a Added tests for path tokenization/untokenization 2020-04-05 12:15:39 -07:00
Christopher Allford 91c608f38e Merge branch 'master' into refactor/23783 2020-04-05 10:55:00 -07:00
Mike Jolley 9b5189dc7a Remove tests for order methods which were removed 2020-04-03 15:55:15 +01:00
vedanshujain facfb16131 Changed class name to match file name 2020-04-03 15:55:14 +01:00
Claudio Sanches 2ebd86f2dc Revert "Revert "Add support for '_held_for_checkout` records to prevent race conditions."" 2020-04-03 15:55:13 +01:00
vedanshujain af810af57a Add unit test for removing displa:none from emails 2020-04-03 13:49:28 +00:00
vedanshujain 0af20fe4ef Add unit test for guest checkout with per user coupon usage limit. 2020-04-02 15:04:57 +00:00
Steve Grunwell 17c56d6d12 Merge branch 'master' into fix/travis-against-minimium-requirements 2020-04-01 14:30:42 -04:00
Julia Amosova 35555138bd Remove unused functions imports from components 2020-03-31 11:20:12 -04:00
Julia Amosova 2090dad9fd Update shipping setup through Task List 2020-03-31 10:00:43 -04:00
Julia Amosova cef74d73fe Replace old shipping setup with new OBW shipping setup task 2020-03-31 00:32:42 -04:00
Julia Amosova 37b47b496b Improve shipping setup in OBW e2e test 2020-03-30 23:13:17 -04:00
Julia Amosova 4c1eece4f4 Add shipping setup to OBW e2e test 2020-03-30 21:57:37 -04:00
Julia Amosova a5bc44e92e Refactor 'Continue' button clicks & add Theme section test coverage 2020-03-30 20:12:39 -04:00
Christopher Allford 23e555823b
Merge pull request #25943 from woocommerce/fix/25810
Fixed remainder application for percent coupons
2020-03-30 14:13:03 -07:00
Jeff Stieler d9a1c50074 Fix <SelectControl> interaction in new OBW test.
Remove usage of `puppeteer-select`.
2020-03-30 11:31:56 -06:00
Julia Amosova bb20a436b8 Add new OBW e2e test (not complete - missing Theme section coverage) 2020-03-27 17:45:20 -04:00
Julia Amosova f8bb7681b6
Merge pull request #25839 from woocommerce/fix/remove-legacy-e2e-travis-setup
Remove legacy e2e test suite travis setup
2020-03-27 10:11:56 -04:00
Peter Fabian 0e0b1d646d
Merge pull request #25882 from woocommerce/fix/25845
Set usage count before usages query
2020-03-18 15:44:49 +01:00
Christopher Allford 917e5ff77d
Merge pull request #25923 from woocommerce/fix/test-install-db-socket
Correct usage of database sockets in test install script
2020-03-17 09:08:18 -07:00
Christopher Allford ed55034867 Added a check to prevent coupon cent remainders from decreasing the item cost below zero 2020-03-16 21:32:25 -07:00
Christopher Allford 98395741cf Changed the default test file locations to respect the system's tmp folder 2020-03-13 20:44:43 -07:00
Christopher Allford 5f829d4005 Corrected the handling of sockets in the unit test install script 2020-03-13 20:44:38 -07:00
Christopher Allford a576060403 Replaced the strict path used in the MaxMind database download test
It was set to /tmp directly instead of using the sys_get_temp_dir() method, leading to failures on systems with a different temp folder location,
2020-03-13 20:44:35 -07:00
Christopher Allford 8c0f4a1204 Made the is_package_shippable check more permissive
Initially it was made more precise to avoid calculating estimates for incomplete addresses. Due to some bad working in template files though, as well as historical precedent, we need to change it back.
2020-03-13 09:15:31 -07:00
Steve Grunwell d085044970 Remove an unnecessary onNotSuccessfulTest() override, as the tearDown() fixture will be called regardless of the successfulness of the test method 2020-03-12 16:00:01 +00:00
Steve Grunwell 0a5161ea3d *CODING STANDARDS ONLY* Add method visibility, clean up inline documentation. 2020-03-12 15:57:32 +00:00
Steve Grunwell 2383670020 Simplify the test for test_get_tables_enables_filter() now that we can leverage PHP >= 5.3 2020-03-12 15:54:25 +00:00
Steve Grunwell 7f74eace0b Rewrite WC_Tests_Install::test_get_tables()
Instead of comparing all tables that exist with all tables that are registered with `WC_Install::get_tables()` (which was only introduced a few versions ago in #19436), rewrite the test to verify that all of the tables *registered* actually exist within the database.

This will prevent tests from failing when, for example, they're run against databases that may or may not have additional plugins installed/activated. This also prevents tests from failing when running WooCommerce 4.x (e.g. with WooCommerce Admin) on WordPress < 5.3, since the tables are created but the callback to register the custom tables is never hooked.
2020-03-12 15:00:03 +00:00
Steve Grunwell 5855931542 Define the polyfill before attempting to call it 2020-03-11 16:53:25 +00:00
Steve Grunwell 86d44e74bb Make WC_Tests_CRUD_Data::onNotSuccessfulTest() compatible with its parent declaration 2020-03-11 16:35:36 +00:00
Steve Grunwell 0a3c5186fa The WP core test suite didn't introduce includes/listener-loader.php until WordPress 5.1, so we need to polyfill the behavior when testing against WordPress 5.0 2020-03-11 16:34:52 +00:00
vedanshujain a2418156d4 Add tests 2020-03-11 20:47:24 +05:30
Julia Amosova 0a90489322 Remove legacy e2e test suite travis setup 2020-03-06 14:12:24 -05:00
Jan-Paul Kleemans 108ad568d0
Update comment 2020-03-04 12:30:17 +01:00
vedanshujain 657e95b55e Added tests 2020-03-03 18:46:37 +05:30
vedanshujain 1314fdc0e7 Clear existing shippin rates before adding rate for test 2020-03-03 16:15:25 +05:30
vedanshujain 2c2d96ec95 Added tests for rounding issues 2020-03-02 15:30:10 +05:30
Vedanshu Jain 6f2b232fc7
Merge pull request #25734 from woocommerce/fix/25650
Fixed caching for order item on deletion
2020-02-27 13:48:44 +05:30
Ron Rennick 25ab5596a2 fix composer.lock conflict 2020-02-25 15:00:55 -04:00
Ron Rennick 77d6dc1342 update WCA class namespace in unit tests 2020-02-24 23:22:11 -04:00
Ron Rennick 2d70a48361 bump action scheduler version, add queue unit tests 2020-02-24 21:45:19 -04:00
Christopher Allford 6a292de9f9 Cleared the cache when order items are added, updated, or deleted 2020-02-23 12:41:33 -08:00
Julia Amosova 4a316b776f Fix markdown issue in the content and add more details to the docs 2020-02-19 11:31:27 -05:00
Julia Amosova 13761799cc Update documentation related to running e2e and unit tests 2020-02-18 17:09:03 -05:00
Brent Sessions 256d6f7808 Use new puppeteer-utils package. 2020-02-18 13:31:35 -05:00
Julia Amosova e9ee645049 Skip 2 failing variations e2e tests (until fixed) 2020-02-13 18:32:41 +00:00
Jeff Stieler 33e6aee1af
Export all component E2E test util functions. (#25636) 2020-02-11 08:29:48 -08:00
Peter Fabian e55461f6e4 Change the setting part before the verification. 2020-02-07 15:28:06 +01:00
Julia Amosova 94dcaed7ba Remove unnecessary store owner login before creating variable product 2020-02-07 14:12:15 +00:00
Julia Amosova e3afbfdd8c Update `Redirect only` file download method string 2020-02-07 14:09:56 +00:00
Julia Amosova c7e3171a31 Enable Storefront installation option in the old OBW 2020-02-07 12:59:40 +00:00
Julia Amosova 13e95db4ef Remove wc-admin installation option from the old OBW 2020-02-07 12:59:39 +00:00
vedanshujain ca5fd12103 Add setting to configure hash appends 2020-02-07 17:54:54 +05:30
vedanshujain 56176e0479 Append unique hash to filename for added security 2020-02-07 17:54:54 +05:30
Christopher Allford b5d5be7df1 Removed the admin screen checking in favor of good old fashioned request parameters for COD gateway setting loading 2020-02-06 12:29:01 -08:00
Rodrigo Primo 48480eb882 Fix unit tests when running using WP nightly
The WooCommerce unit tests started failing when running using WP nightly
with the following error:

```
Fatal error: require_once(): Failed opening required '/tmp/wordpress-tests-lib/src//wp-includes/class-phpmailer.php' (include_path='.:/home/travis/.phpenv/versions/7.4.2/share/pear') in /tmp/wordpress-tests-lib/includes/mock-mailer.php on line 2
```

https://travis-ci.org/woocommerce/woocommerce/jobs/646855363#L1955

This was happening because WP changed the syntax of the line where
ABSPATH is defined in the context of the unit tests
(https://core.trac.wordpress.org/changeset/47198/trunk/wp-tests-config-sample.php)
and we rely on this syntax to change ABSPATH when running
`tests/bin/install.sh`.

To fix this problem, this commit updates the sed command used to change
ABSPATH to work when both the old and new syntaxes are used. In the
future we might want to consider a more robust solution to the problem
of updating ABSPATH.
2020-02-06 12:43:47 -03:00
Peter Fabian 7233dc8a2e
Merge pull request #25011 from woocommerce/try/add-wc-admin
wc-admin: Include package
2020-02-06 12:09:25 +01:00
Peter Fabian ee865fe0b4
Merge pull request #25504 from woocommerce/update/order-detail-summary
Enhance order details and payment summary
2020-02-06 11:40:45 +01:00
Peter Fabian d3a33f8d05
Merge pull request #24943 from woocommerce/refactor/eu-vat-brexit
Brexit and VAT refactor
2020-02-05 19:41:40 +01:00
Christopher Allford 92708dde1f
Merge pull request #25512 from woocommerce/fix/25438.2
Fixed unnecessary loading when constructing COD payment gateway
2020-02-05 10:02:38 -08:00
Peter Fabian 5ba2cdafa5
Merge pull request #25183 from om4james/webhook-de-duplication
Fix for Duplicate Webhook deliveries
2020-02-05 18:38:15 +01:00
Claudio Sanches 5b9937ad48 Merge branch 'master' into try/add-wc-admin 2020-02-05 13:02:51 -03:00
Claudio Sanches 545a74fe64 Fixed coding standards 2020-02-05 11:55:19 -03:00
Christopher Allford 2f024ff024 Added tab check to COD gateway options loading 2020-02-05 06:49:33 -08:00
Claudio Sanches f5d2c98c3e Updated unit test 2020-02-05 11:16:29 -03:00
Claudio Sanches 74768d8abd Remove test 2020-02-05 11:13:16 -03:00
Rodrigo Primo f539d3e04b Merge branch 'master' into update/emogrifier 2020-02-05 10:01:38 -03:00
Rodrigo Primo ff05b06e6b Merge branch 'master' into update/emogrifier 2020-02-05 09:56:03 -03:00
Peter Fabian 87e42acd56
Merge branch 'master' into try/add-wc-admin 2020-02-05 13:02:20 +01:00
vedanshujain d19c470686 Add sanity test around order and customer permissions 2020-02-05 15:42:15 +05:30
Paul Sealock b7a9056a59 cleanup 2020-02-04 16:01:57 -08:00
Paul Sealock 2619f37b51 phpcs errors 2020-02-04 16:01:57 -08:00
Paul Sealock 4380087608 wc-admin: Include package 2020-02-04 16:01:57 -08:00
Christopher Allford b9ceabaa52 Utilized the constants package to fix the failing tests 2020-02-04 15:50:23 -08:00
Christopher Allford 1d15df860e Merge branch 'master' into fix/25438.2 2020-02-04 15:06:26 -08:00
Christopher Allford 57734ca8ce Merge branch 'master' into refactor/add-jetpack-constants 2020-02-04 14:36:35 -08:00
Garrett Hyder 6295534fbb Adds support for group_description for privacy exporters which was added in WP5.3 through WPCoreChangeset#45825 and WPCoreTracTicket#45491 2020-02-04 12:57:31 -08:00
Rodrigo Primo fb3b977a16 Add test to make sure that negative fees never make order total negative
For some reason unknown to me, the following commit added logic to make
sure that negative fees never make the order total negative: 804feb9333

Probably by accident, commit 4326e39250 changed this logic when `$fees_total += $item->get_total()` was replaced by `$fees_total += $fee_total`:

4326e39250 (diff-9b4164165828b26c4b7aec01c7b17884R1594)

This commit adds a failing test that ensures that the old behavior is
tested. This test needs to be fixed before we merge the changes proposed
in PR #25504.
2020-02-04 15:33:21 -03:00
Rodrigo Primo 08e0936aa6 Improve coverage of WC_Abstract_Order::calculate_totals() test
This commits improves the coverage of the
WC_Abstract_Order::calculate_totals() test by including a fee to the
order used to test the method.
2020-02-04 15:26:52 -03:00
Rodrigo Primo b87d0e26fe Add basic unit test for WC_Abstract_Order::get_total_fees() 2020-02-04 15:13:27 -03:00
Claudio Sanches 94d1b742ad
Merge pull request #25545 from woocommerce/prep/after-3.9
Bumped versions for the upcoming release.
2020-02-04 13:05:27 -03:00
Peter Fabian 4a506ebcf7
Merge pull request #25530 from woocommerce/fix/country-region-label
Fix/country region label
2020-02-04 13:54:22 +01:00
Peter Fabian f57fef5bdd Updated unit tests. 2020-02-04 13:45:28 +01:00
Christopher Allford c5e1fc6c45 Merge remote-tracking branch 'origin/master' into refactor/add-jetpack-constants 2020-02-03 11:50:16 -08:00
Peter Fabian e613056634 This perhaps better represents the spirit of the test. 2020-02-01 14:19:22 +01:00
Christopher Allford 1d1413b4ee Replaced direct access of many constants with the Constants library 2020-01-31 22:18:47 -08:00
Peter Fabian 132ced6039 Fixed test for 4.0. 2020-01-31 21:05:50 +01:00
Peter Fabian 6410ef9156 Updated since tags for the upcoming version. 2020-01-31 18:03:54 +01:00
Christopher Allford b6046930c6 Corrected a misspelled filter name 2020-01-30 18:12:00 -08:00
Christopher Allford 8a046ab0cd Cleaned up the template path replacement and fixed the wc_cache_set positioning 2020-01-30 16:24:07 -08:00
Peter Fabian a9a64fcee0
Merge pull request #25482 from woocommerce/fix/cart-e2e-test
Fix failing cart e2e test: fix setup wizard logic if new onboarding is presented
2020-01-30 12:51:56 +01:00
Julia Amosova 3dfc8f3dc5 Remove unnecessary 2nd setup wizard flow for the new onboarding 2020-01-30 11:29:28 +00:00
Julia Amosova 18d93e321a Update setup wizard test logic 2020-01-30 10:38:10 +00:00
Claudio Sanches 052fbfcb8c Test WC_Email::style_inline() 2020-01-29 17:07:18 -03:00
Christopher Allford 6ad091a9b7 Changed all of the constant accesses into corresponding Automattic\Jetpack\Constants usages 2020-01-28 21:21:29 -08:00
Christopher Allford bb09a8a4ea Prevented the COD payment gateway's "enable_for_methods" option loading outside of correct use-cases
Note: The tests fail in this commit because of the defines. Ran individually there are no problems, but I'm going to make another PR to merge in a package to make testing constants possible, and then come back to fix this after it gets merged.
2020-01-28 14:33:53 -08:00
Claudio Sanches b3ea0b17b4 Merge branch 'master' into refactor/eu-vat-brexit 2020-01-27 13:15:54 -03:00
Julia Amosova 0a5c866bc4 Remove taking screenshots sent to AWS on failed tests 2020-01-24 17:17:52 +00:00
Julia Amosova d4c8719d1f Remove the process of building legacy e2e test site 2020-01-24 17:05:18 +00:00
Julia Amosova eb92d35d96 Remove DB (used for the initial setup) that is no longer needed 2020-01-24 17:05:17 +00:00
Julia Amosova 2415cf1952 Fix setup wizard logic if new onboarding is presented 2020-01-24 14:37:27 +00:00
Julia Amosova 26ade8bb1f Add 1 second wait time between 2 UI blocks / AJAX calls 2020-01-22 16:52:35 +00:00
Rodrigo Primo 4e58f77575
Merge pull request #25322 from woocommerce/pr-25242
Prevent fatal error in set_current_gateway with no WC session
2020-01-17 09:54:03 -03:00
Rodrigo Primo 2668bf6025
Merge pull request #25314 from woocommerce/fix/24746
Removed the lowercase conversion of product search terms
2020-01-16 16:29:07 -03:00
Rodrigo Primo 8aad482bc1 Fix typo 2020-01-16 15:31:50 -03:00
Rodrigo Primo cb85c981ac Merge branch 'master' into pr-25242 2020-01-16 15:30:58 -03:00
Claudio Sanches bccb93fa3c
Merge pull request #25378 from woocommerce/fix/25361
Add license key support to MaxMind GeoLite2 database downloads
2020-01-15 20:51:14 -03:00
Rodrigo Primo 793dba81f1 Fix failing unit test
This commit fixes the unit test
WC_Tests_API_Functions::test_wc_rest_upload_image_from_url_should_return_error_when_invalid_image_is_passed() which was failing due to a change in a WordPress core message with the following error:

```
2) WC_Tests_API_Functions::test_wc_rest_upload_image_from_url_should_return_error_when_invalid_image_is_passed

Failed asserting that two strings are equal.

--- Expected

+++ Actual

@@ @@

-'Invalid image: File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.'

+'Invalid image: File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini file or by post_max_size being defined as smaller than upload_max_filesize in php.ini.'

/home/travis/build/woocommerce/woocommerce/tests/unit-tests/util/api-functions.php:89
```

(https://travis-ci.org/woocommerce/woocommerce/jobs/637353161#L402)

This test only fails when using WordPress nightly build (the yet to be
released WP 5.4).

To fix this problem, this commit adds an if statement to check for different error
messages depending on the WordPress version that is being used to run
the tests. In the future, we might want to refactor this test to remove
its dependency to a WordPress error message to make it more robust and
stable.
2020-01-15 11:17:49 -03:00
Claudio Sanches 992e13fb08 Updated implementation of geolite2 2020-01-14 16:24:07 -03:00
Christopher Allford 7a5083e47b Revert "Added a database option to allow for selecting different MaxMind databases"
This reverts commit d32c470cea.
2020-01-13 14:41:24 -08:00
Christopher Allford d32c470cea Added a database option to allow for selecting different MaxMind databases 2020-01-13 14:10:08 -08:00
Christopher Allford 6d3a3053c5 Moved the database file into the woocommerce_uploads folder 2020-01-13 08:53:43 -08:00
Christopher Allford 645affb7f3 Removed permanently failing unit test for deprecated GeoLite2 library integration 2020-01-13 08:17:11 -08:00
Christopher Allford 4f6aec61fd Added support for a randomized MaxMind database file prefix 2020-01-13 08:16:44 -08:00
vedanshujain f0f3b21a36 Added unit tests for setting current gateway 2020-01-13 14:18:59 +05:30
Claudio Sanches f253c87096 Fixed unit tests 2020-01-10 17:14:44 -03:00
Claudio Sanches 49aed6f6ca Remove alternatives for deprecated methods 2020-01-10 16:31:27 -03:00
Claudio Sanches 48547143f4 Fixed integration ID 2020-01-10 15:02:56 -03:00
Christopher Allford f5cbca5beb Added unit tests for the MaxMind integration class 2020-01-10 02:47:43 -08:00
Christopher Allford 19ded6609d Refactored the MaxMind database class to not use static methods in order to make testing the integration class easier 2020-01-10 02:09:51 -08:00
Christopher Allford bbbfc3bfab Moved the MaxMind geolocation lookup into the integration class 2020-01-09 23:46:25 -08:00
Christopher Allford f91ff82806 Moved the loading of the database class into the integration 2020-01-09 21:29:47 -08:00
Christopher Allford bf057927ae Moved the loading of integration classes into the WC_Autoloader 2020-01-09 15:46:01 -08:00
Christopher Allford 3e597e6f68 Replaced the Geolocation database fetching functionality with MaxMind integration 2020-01-09 00:31:51 -08:00
Christopher Allford f23c26a9f9 Fixed a permissions conflict caused by the dummy GeoLite2 archive's date
The test would fail if the web server had stored the data already!
2020-01-08 22:56:07 -08:00
Christopher Allford 95e59fc777 Made the database service class methods static for convenience \ 2020-01-08 21:59:04 -08:00
Christopher Allford 1eb49ef8b8 Added filterable support for fetching the database path
This replaces the corresponding geolocation class functionality. We are deprecating the woocommerce_geolocation_local_database_path filter in favor of the woocommerce_maxmind_geolocation_databse_path filter. Since we want the option to turn this into a feature plugin, it's wise to make sure nothing is too generic.
2020-01-08 21:48:05 -08:00
Christopher Allford 46d7f16b19 Added support for downloading and extracting the GeoLite2 database 2020-01-08 21:09:35 -08:00
Christopher Allford a477f9367d Added support for creating default integrations 2020-01-08 21:05:14 -08:00
Claudio Sanches 85a077b939 Coupon race condition prevention 2020-01-06 19:44:24 -03:00
Claudio Sanches 2ce4a60ff1
Remove old unit test 2020-01-06 19:37:47 -03:00
Vedanshu Jain d76c5b734c
Merge pull request #25300 from woocommerce/fix/25274-docker-mount-dir
E2E Tests: mount directory instead of copy.
2019-12-26 17:36:14 +05:30
vedanshujain 42dd1bf32b Add an address so that shipping can be calculated 2019-12-26 14:04:52 +05:30
vedanshujain 31726d1a37 Update version numbers 2019-12-26 13:55:43 +05:30
Christopher Allford ac22406763 Fixed the unit tests broken by the requirement that a valid address must be set to calculate shipping rates 2019-12-26 13:55:43 +05:30
Christopher Allford 027257f624 Changed the dummy postal code in the order helper to a valid one 2019-12-26 13:55:42 +05:30
Christopher Allford c54fa91145 Added unit tests for checking whether a package is shippable or not 2019-12-26 13:55:41 +05:30
Christopher Allford e800b40ad6 Made packages with incomplete destinations unshippable 2019-12-26 13:55:41 +05:30
Christopher Allford 874be93c14 Removed the lowercase conversion of product search terms
When searched in a case sensitive manner, the conversion to lowercase causes uppercase matches that would have been found to be lost. This change increases the tolerance of the OR search format while also removing this unintended side-effect.
2019-12-24 15:00:40 -08:00
Jeff Stieler 7c0511baaa Fix typo in docker service name. 2019-12-23 13:14:14 -05:00
Jeff Stieler 5c67310e48
Fix typo in test installation instructions. (#25298) 2019-12-23 11:32:54 -05:00
Rodrigo Primo 487f96d844 Fix WordPress.DateTime.CurrentTimeTimestamp vilations
This commit fixes all violations of the WordPress.DateTime.CurrentTimeTimestamp sniff automatically using phpcbf.
2019-12-20 14:23:05 -03:00
Rodrigo Primo 62d6b05b58 Fix Generic.Formatting.MultipleStatementAlignment violations
This commit fixes all violations of the Generic.Formatting.MultipleStatementAlignment sniff automatically using phpcbf.
2019-12-20 14:21:08 -03:00
Rodrigo Primo 94373f78ea Fix WordPress.Arrays.MultipleStatementAlignment errors automatically using phpcbf 2019-12-20 13:51:26 -03:00
Julia Amosova 8854d0d074 Update comments in `run-e2e-CI.sh` 2019-12-20 00:10:44 +00:00
Julia Amosova 9397565d22 Add max amount of time waiting for the Docker container to be built 2019-12-19 22:48:03 +00:00
vedanshujain ff2a8a58f2 Commented out flaky test 2019-12-17 19:13:19 +05:30
vedanshujain 9b7343d23b Applied coding standards 2019-12-17 19:13:19 +05:30
vedanshujain 53bfcea110 Use same filter for stocks and coupon for consistency. 2019-12-17 19:13:19 +05:30
vedanshujain 72545c44b7 Add support for `_held_for_checkout` records to improve performance.
This will also improve transactional stability and avoid race conditions by providing a way to lock usage counts.
2019-12-17 19:13:19 +05:30
Julia Amosova 1658dd3962 Make setup wizard test more stable 2019-12-15 22:55:39 +00:00
Julia Amosova f9a9fbc2c7 Pass jest exit code to npm 2019-12-15 22:34:35 +00:00
Julia Amosova 88fa2885fc Update jest version 2019-12-15 19:13:28 +00:00
Julia Amosova 4e134f8ec4 Testing Docker build on Travis 2019-12-15 17:54:33 +00:00
Julia Amosova c1b358929b Add page creation & check for Docker container status to run e2e tests 2019-12-15 16:44:40 +00:00
Julia Amosova 5645f5882a Add check for Docker container to be built on Travis when post is created 2019-12-15 16:04:06 +00:00
Julia Amosova 14afe36204 Add check for Docker container to be built on Travis 2019-12-15 15:32:26 +00:00
Julia Amosova 53dcdd77b3 Update Docker + Travis setup 2019-12-15 13:09:29 +00:00
Julia Amosova cff1272b7e Add check for new setup wizard flow & fix ship to different address click 2019-12-11 17:15:37 +00:00
Julia Amosova 90ddb08765 Merge branch 'new/puppeteer-screenshot-tester' into new/front-end-checkout-e2e-test 2019-12-11 14:54:39 +00:00
Julia Amosova 29671dd9ec Resolving conflict with master branch 2019-12-11 14:53:07 +00:00
Julia Amosova 900289c191 Update the way `ship to different address` checkbox is set 2019-12-11 12:27:41 +00:00
Julia Amosova 47ecd75479 Wait for Recommended section elements to be visible in the obw test 2019-12-11 12:18:31 +00:00
Julia Amosova c7d4989f01 Update clicks in obw and checkout tests & productIsInCheckout function 2019-12-11 12:02:44 +00:00
Claudio Sanches 2975b3a7b7 Rate limit feature 2019-12-11 01:38:19 -03:00
Claudio Sanches f7632de06e
Merge pull request #25164 from om4james/webhook-delete-cache
Delete cached webhook data when a webhook is deleted
2019-12-10 22:45:42 -03:00
Claudio Sanches 523c72f265 Fix WordPress nightly unit tests (#25198)
* Remove images after uploaded in WC_Tests_Product_Data

* Remove attachment after test

* Fixed image_id
2019-12-10 13:57:52 -03:00
Claudio Sanches 104f40c36e
Merge pull request #24281 from woocommerce/fix/24269
Handle multiple decimal points
2019-12-09 14:07:29 -03:00
Francesco Leanza 59af851069
Merge branch 'master' into fix/25091 2019-12-09 16:46:02 +01:00
Andrej Mernik d20d429e32 Add postcode validation for Slovenia (#25174)
Add postcode validation for Slovenia
2019-12-09 10:09:45 -03:00
Julia Amosova bf8ce8dcd7 Wait for the Recommended section to load in the setup wizard test 2019-12-09 09:51:13 +00:00
Julia Amosova 2477d07b48 Various improvements to e2e tests 2019-12-06 15:06:48 +00:00
Claudio Sanches b4af5f3c89 Updated regex to allow only one decimal point 2019-12-06 11:11:47 -03:00
Claudio Sanches e535a16b48 Fixed unit tests 2019-12-06 11:00:40 -03:00
James Collins 596ac29ba4 phpcs fixes 2019-12-06 10:34:59 +08:00
James Collins 7c5d06c309 Unit test to demonstrate the problem of duplicate webhook deliveries occurring 2019-12-06 09:41:33 +08:00
James Collins 0246b02a94 Merge branch 'master' into webhook-delete-cache 2019-12-06 08:57:54 +08:00
Claudio Sanches 8dbf7edb6f Fixed unit tests 2019-12-05 21:26:03 -03:00
Rodrigo Primo 27915dd696 Exception when WC_Product_Variation is instantiated with the wrong type
This commits changes WC_Product_Variation to raise an exception when the
class is instantiated with an ID that belongs to a post object that is
not a product variation.

This is necessary to avoid problems like the one described in #24956
where passing a variable product ID to WC_Product_Variation would result
in transparently modifying the variable product title and excerpt.
2019-12-05 15:45:48 -03:00
Claudio Sanches d7e2a98aaf
Merge pull request #24828 from woocommerce/fix/24695
Adds shared code between Orders and Cart calculation logic.
2019-12-05 12:39:50 -03:00
Peter Fabian 4dfa68b62d More PHPCS fixes. 2019-12-05 15:46:13 +01:00
Peter Fabian 9b398947dd Fixed the test by sleeping longer. 2019-12-05 15:17:34 +01:00
Peter Fabian 3ba3d5cf1b Made the fail messages unique. 2019-12-05 15:07:03 +01:00
Peter Fabian 7bfbe7a5f1 Removed incorrect comment. 2019-12-05 15:05:38 +01:00
Peter Fabian 0d3074a554 Added rate limiting to Add payment method. 2019-12-05 12:03:02 +01:00
Julia Amosova 62607a918c Resolving conflicts with migration branch 2019-12-04 21:02:34 +00:00
Rodrigo Primo 3af024fc5c
Merge pull request #25031 from woocommerce/feature/24956
Introduced wc_get_product_object() helper
2019-12-04 16:53:04 -03:00
Claudio Sanches e3b2d9f10c Merge branch 'master' into feature/inline-notices 2019-12-04 16:26:10 -03:00
Claudio Sanches 5fdb880831
Merge branch 'master' into feature/24956 2019-12-04 16:18:39 -03:00
Claudio Sanches 8033d5751e Changed wc_get_product_classname function name to wc_get_product_object 2019-12-04 16:15:16 -03:00
Julia Amosova 44a0fa6a25 Resolving conflict with migratin branch 2019-12-04 19:03:35 +00:00
Claudio Sanches a12c25862b
Revert "Add support for '_held_for_checkout` records to prevent race conditions." 2019-12-04 16:03:05 -03:00
Claudio Sanches 0686e6f1cd
Merge pull request #25000 from woocommerce/feature/pay-button-support
Initial support for "pay button"
2019-12-04 16:02:02 -03:00
Rodrigo Primo 4af9a94129 PHPCS fixes 2019-12-04 15:52:20 -03:00
Claudio Sanches adbb4fd2d3
Merge pull request #24937 from jenkoian/wc-placeholder-attrs
Add support for custom attributes to wc_placeholder_img().
2019-12-04 15:42:41 -03:00
Julia Amosova 1a6adfd0db
Merge pull request #24672 from woocommerce/new/front-end-cart-e2e-test
Add new Puppeteer front-end e2e test: cart page
2019-12-04 17:03:10 +00:00
James Collins 7187db66e1 Add unit test 2019-12-04 12:29:40 +08:00
Julia Amosova defbcc456e Adjust `npm install` in travis / docker setup 2019-12-03 22:21:41 +00:00
Julia Amosova 51fcf56ecb Increase wait time for the docker container to start 2019-12-03 21:00:46 +00:00
Claudio Sanches 0c486785ad
Merge pull request #25089 from woocommerce/fix/24009
Add support for '_held_for_checkout` records to prevent race conditions.
2019-12-03 17:47:22 -03:00
Julia Amosova 9e4f55a82f More tweaks to Travis / Docker setup 2019-12-03 20:34:40 +00:00
Julia Amosova d04d862c95 Add npm install to Travis / Docker setup 2019-12-03 19:56:03 +00:00
Claudio Sanches df4eb9c817 Use wc_get_order() in unit tests, and fixed coding standards 2019-12-03 16:44:37 -03:00
Claudio Sanches 988b72e461 Updated filter name to woocommerce_hold_stock_for_checkout
Also fixed coding standards
2019-12-03 16:38:17 -03:00
Julia Amosova 37e367f379 Resolve conflicts with master branch 2019-12-03 18:49:28 +00:00
Julia Amosova 4c8c4a8dbf Adjust Travis + Docker setup 2019-12-03 18:43:33 +00:00
Rodrigo Primo 567b667acf Improve wc_print_notices() test coverage 2019-12-03 15:29:10 -03:00
Claudio Sanches 6a395e2485
Merge pull request #25064 from woocommerce/fix/24315
Optimize variable product duplication slug generation
2019-12-03 15:28:55 -03:00
Claudio Sanches 15ffaeee6b
Merge pull request #25101 from woocommerce/remove-call_user_func_array
Remove a few calls to func_get_args() and call_user_func_array()
2019-12-03 14:51:43 -03:00
Rodrigo Primo 86f59dff09
Merge pull request #24961 from woocommerce/fix/admin-caching-incr
Changed wp_cache invalidation from using increment to using microtime.
2019-12-02 15:32:17 -03:00
Julia Amosova f4afae89c6 Add store owner login in the cart page test 2019-12-02 17:54:45 +00:00
Julia Amosova 3ffaaea6f5 Resolving conflict with migration branch 2019-12-02 17:19:58 +00:00
Julia Amosova 3eb620282e Add store owner logout before running customer my account test 2019-12-02 16:05:22 +00:00
Julia Amosova 3d4dc64d8d Update README with Docker setup details and running tests 2019-12-02 12:43:58 +00:00
Julia Amosova c93c7776f1 Add additional order verification by the store owner 2019-12-02 11:21:01 +00:00
Julia Amosova 435d64919b Add order verification by the store owner 2019-11-30 22:07:29 +00:00
Julia Amosova 6fb8f23ec6 Resolving conflict with migration branch 2019-11-28 16:46:35 +00:00
Julia Amosova 9d219dc5e0 Fix customer login on My Account page 2019-11-28 16:33:43 +00:00
Julia Amosova d65c3c76c3 Resolve additional conflict with migration branch 2019-11-28 14:25:28 +00:00
Peter Fabian 309c48ab0e Deprecated old cache function and replaced it with a new one. 2019-11-28 14:03:57 +01:00
Julia Amosova 3a7aeb04e6 Resolving conflict with migration branch 2019-11-28 12:47:28 +00:00
Julia Amosova 460b2f19e3 Add empty `test:e2e.json` for overriding default variables if needed 2019-11-27 23:46:47 +00:00
Julia Amosova 7b7473f917 Add `npm install` to the Travis implementation for running e2e tests 2019-11-27 00:25:11 +00:00
Julia Amosova 314c613462 Update `default.json` with default Docker test site details 2019-11-26 23:50:08 +00:00
Julia Amosova 843ceead48 Update setup-wizard test & WP Docker image version 2019-11-26 23:06:43 +00:00
vedanshujain 8c2c83d488 Use `wc_round_tax_total` to make it consistent with how we round taxes.
When price includes taxes, we round down. This patch uses the correct method to round taxes depending on the mode instead of plain rounding.
2019-11-27 03:13:39 +05:30
Julia Amosova a7e582b1bb Update docker-compose file & setup running e2e tests on Travis CI 2019-11-26 20:34:00 +00:00
vedanshujain 5ef41f1ecc Empty cart before test to make sure everything in cart exists 2019-11-26 18:21:24 +05:30
vedanshujain 60cd7b3651 Refactor Order Class to use shared calculation logic.
We added a trait to move shared logic betweem Orders and Cart. This commit refactors Order class to use that shared logic.
Also adds a test for a failing case.
2019-11-25 17:53:14 +05:30
Julia Amosova b1738068a4 Fix the way usage tracking pop-up window is handled 2019-11-24 15:40:23 +00:00
Julia Amosova 05175254ed Update admin and customer user details in docker compose file 2019-11-24 13:49:39 +00:00
Julia Amosova 882315182b Remove test:e2e.json file from the code base 2019-11-24 13:18:57 +00:00
Julia Amosova 2818a3c67d Add config file to store variables needed to run e2e tests 2019-11-24 13:08:48 +00:00
Julia Amosova 5efae398fe Finish remaining work on the setup-wizard e2e test 2019-11-24 11:38:13 +00:00
Julia Amosova 798e668895 Resolving conflict with feature branch 2019-11-23 18:11:37 +00:00
Julia Amosova d2fa44518a Resolving conflict with master branch 2019-11-23 18:03:04 +00:00
Julia Amosova 6dea34770f Introduce Docker compose file & setup-wizard e2e test 2019-11-23 17:40:29 +00:00
Julia Amosova 5c57759dbc Implement @jest/test-sequencer in order to run tests in specific order 2019-11-22 14:56:58 +00:00
Julia Amosova 59499da8ef Update products in the checkout verification & address filling functions 2019-11-22 12:33:08 +00:00
Julia Amosova 6f0617825a Resolving conflicts with feature branch 2019-11-21 17:21:58 +00:00
Julia Amosova 5e083cfdbf Change the way navigation between My Account pages is done 2019-11-21 16:52:29 +00:00
Rodrigo Primo 6cd08dc7bd Use the spread operator instead of call_user_func_array() in WC_Data_Store
This commit replaces a call to call_user_func_array() in WC_Data_Store::__call() with argument unpacking using the spread operator which was introduced in PHP 5.6. This change should improve WooCommerce performance a tiny bit since WC_Data_Store::__call() is called somewhat frequently and call_user_func_array() has a bad performance reputation. I added one unit test to make sure this change doesn't break the functionality of the altered method.
2019-11-21 11:52:47 -03:00
Rodrigo Primo fa875a4d25 Fix PHPCS errors in tests/framework/class-wc-dummy-data-store.php 2019-11-21 11:52:07 -03:00
Rodrigo Primo ed1c4b11b8 Fix PHPCS errors in WC_Tests_Data_Store class file 2019-11-21 10:41:27 -03:00
Rodrigo Primo 44b09cb15a Remove unused test method 2019-11-21 10:40:38 -03:00
vedanshujain 70a54d0639 Added Unit Tests for `held_for_checkout` records. 2019-11-21 18:11:37 +05:30
Francesco Leanza dd3427958b Fixed order totals calculation if it contains taxable and non-taxable products and percentage coupons
Added PHPUnit tests
2019-11-21 11:28:22 +01:00
Christopher Allford 753f39ff27 Added unique slug generation for variable product duplication
The standard wp_unique_post_slug() function will run one query per name collision, leading to a large number of queries being made when a product template is duplicated repeatedly. We can avoid this by doing the unique generation ourselves.
2019-11-18 13:49:41 -08:00
Maxime Jobin 61256ad208
Use the $username variable
This test could fail if time() does not return the same value twice.
2019-11-16 11:09:59 -05:00
Christopher Allford 4120fe1cd8 Added tests to product duplication 2019-11-15 21:12:22 -08:00
Claudio Sanches e95dcfb68a Added unit tests for wc_get_product_classname() 2019-11-13 15:30:03 -03:00
Claudio Sanches d8fed95403 Convert all notice data into HTML data 2019-11-07 20:34:49 -03:00
Claudio Sanches 830e612420 Updated notice tests 2019-11-07 20:25:32 -03:00
Claudio Sanches fdd391e10e Introduced wc_get_pay_buttons() function 2019-11-07 17:23:38 -03:00
Claudio Sanches ced207633c Added unit tests for pay button support 2019-11-07 17:23:19 -03:00
Julia Amosova ddbd688bd4 Introduce postID after creating simple and variable products 2019-11-06 22:17:44 +00:00
Julia Amosova bef04b37f4 Resolve conflicts with feature branch 2019-11-06 17:00:48 +00:00
Julia Amosova 937ec06900 Refactor clicking on different menu tabs of My Account page 2019-11-06 16:32:11 +00:00
Gerhard f03c82d749 Fix method call and unit test 2019-10-31 11:28:19 +02:00
Gerhard 7c6eb45518 Add unit tests for WC_Countries::get_european_union_countries and WC_Countries::get_vat_countries 2019-10-31 09:43:05 +02:00
Ian Jenkins 2340f269cf Add support for custom attributes to wc_placeholder_img().
When displaying a list of images you often want a specific class to be
attached to each image, therefore you pass through a custom class using
the attr parameter. Unfortunately this doesn't get passed through to a
placeholder image should one be needed. This means that, for example, if
you're custom class center an image or something, it won't be honoured
for placeholders, which can lead to some wonky image listings.

You can work around this currently by leverging the
`woocommerce_product_get_image` filter, but it's a bit gnarly as you
need to do some regexing or string splitting or something and checking
class names and what not. This provides a much easier way, by
supporting custom attrs on placeholder images as is the case for non
placehodler images.
2019-10-30 15:08:19 +00:00
Julia Amosova 1b54fa78c9 Merge branch 'new/puppeteer-screenshot-tester' of https://github.com/woocommerce/woocommerce into new/puppeteer-screenshot-tester 2019-10-25 18:10:49 +02:00
Julia Amosova 0c7c88b662 Fix failing new variable product test 2019-10-25 18:10:15 +02:00
Julia Amosova 88bfb1af50 Resolve conflicts with migration branch 2019-10-25 14:05:32 +02:00
Claudio Sanches 061b0f0b91 Fixed quotes style 2019-10-25 08:56:55 -03:00
Julia Amosova bcd74e80f7 Resolve conflicts with migration branch 2019-10-25 12:09:22 +02:00
Julia Amosova 4ce07e9387 Remove `moveToTrash` variable 2019-10-25 11:40:54 +02:00
Julia Amosova ec294e74fc Resolve conflicts with migration branch 2019-10-25 11:25:14 +02:00
Julia Amosova ae924fba0a Resolve conflicts with migration branch 2019-10-25 09:34:31 +02:00
Julia Amosova 2d6b560d41 Modify verification method once customer is logged in 2019-10-20 22:46:35 +01:00
Julia Amosova 747f9f6fc3 Resolve conflicts with migration branch 2019-10-20 22:17:08 +01:00
Julia Amosova 7c95f52050 Change verification method after deleting existing tax classes 2019-10-20 21:52:53 +01:00
Julia Amosova 1850348dc3 Merge branch 'new/puppeteer-screenshot-tester' into new/wp-admin-settings-tax-e2e-test 2019-10-20 21:13:26 +01:00
Julia Amosova 3664e70547 Merge branch 'new/puppeteer-screenshot-tester' into new/wp-admin-settings-gen-product-e2e-test 2019-10-20 17:10:34 +01:00
Julia Amosova 98fc901b93 Resolve conflicts with migration branch 2019-10-20 16:57:41 +01:00
Julia Amosova 11a8cbdf79 Merge branch 'master' into new/puppeteer-screenshot-tester 2019-10-18 00:16:22 +01:00
Julia Amosova d444dbdaf4 Add variations creation verification 2019-10-17 15:55:50 +01:00
Vedanshu Jain cb12010627
Merge pull request #24295 from woocommerce/fix/24096
Remove %20 from fields in External Products form
2019-10-03 00:15:52 +05:30
Claudio Sanches 8758fbdbdc Fixed unit tests for wc_query_string_form_fields() 2019-10-02 11:23:31 -03:00
Peter Fabian 7ea9fdec62 Added unit test for special case of attribute value 0. 2019-10-02 15:06:22 +02:00
Peter Fabian e45fe949c1 Added unit test & updated other affected tests. 2019-10-02 14:59:42 +02:00
Julia Amosova 76ccc248aa Add new Puppeteer front-end e2e test: checkout page 2019-09-24 15:44:10 +01:00
Julia Amosova 409775287e Add new Puppeteer front-end e2e test: cart page 2019-09-24 12:56:02 +01:00
Julia Amosova f970111721 Introduce store owner logout flow 2019-09-24 11:39:24 +01:00
Julia Amosova 504de0012c Add new Puppeteer front-end e2e test: single product page 2019-09-24 10:47:47 +01:00
Julia Amosova 0e826b1bcd Add new front-end e2e test: my account page 2019-09-20 15:28:14 +01:00
Julia Amosova 5b04c7115f Update settings saved verification function 2019-09-04 17:34:33 +01:00
Julia Amosova 40219168c0 Add verification of settings after they've been saved 2019-09-04 17:29:13 +01:00
Julia Amosova d43ac30ba0 Add verification of settings after they've been saved 2019-09-04 13:12:37 +01:00
vedanshujain 6f2d64dcb4 Check for max discount to be -ve to prevent overwriting fee.
When we refund fee and some other line item whose value is more than fee in a single requst, value of line item will overwrite refund fee.

This is because where we check to make sure that we do not discount more than total possible value (to prevent negative total), we do not account for the fact that sometimes the cart could contain refund items. In those cases max_discount * -1 will always be larges then fees total.

This commit adds a check to make sure that max discount * -1 is indeed negative before overwriting fee total.
2019-09-03 20:45:33 +05:30
Julia Amosova 6989ae76c7 Add `setCheckbox` & `unsetCheckbox` functions 2019-09-03 12:55:25 +01:00
Julia Amosova b7201e1363 Add new Puppeteer e2e test: tax settings 2019-08-30 12:53:45 +01:00
Julia Amosova e069afb149 Add 2 new Puppeteer e2e tests: settings general & product 2019-08-30 12:03:57 +01:00
Julia Amosova 0b8d8d0e68 Add 2 new Puppeteer e2e tests: new coupon & new order 2019-08-29 17:09:42 +01:00
Julia Amosova 560f64d212 Remove Selenium e2e tests & add Puppeteer new product e2e test 2019-08-27 13:22:24 +01:00
Julia Amosova b3b3b15f6d Add development mode for running e2e tests 2019-08-23 18:02:13 +01:00
Rodrigo Primo 132d785c65
Merge pull request #24242 from woocommerce/update-contributing-docs
Update WooCommerce developer documentation
2019-08-23 10:54:37 -03:00
Rodrigo Primo 18c83e7e4d Remove word "simply" from documentation
It can have a negative implication for the reader if they don't know how to do it
2019-08-23 10:46:22 -03:00
Julia Amosova 337b134c10 Implement Puppeteer architecture & add basic test 2019-08-23 11:34:07 +01:00
Claudio Sanches 1b2b9d528a Fixed Netherlands postcode formatting (#24284)
* Fixed Netherlands postcode formatting

Trim all spaces, fixes issues when postcode is empty.

* Always trim spaces

* Updated unit test for test_wc_format_postcode()
2019-08-09 15:00:40 -03:00
Gerhard 9c7e1d43b0 Update unit tests for wc_string_to_bool to test for camel case as well as uppercase values. 2019-08-06 14:12:42 +02:00
Gerhard 862c43c553 xvfb needs to be started in before_script 2019-08-05 14:43:54 +02:00
Claudio Sanches 162c5dd8a2 Updated tests for wc_query_string_form_fields() 2019-08-01 17:30:39 -03:00
Rodrigo Primo 833c5016ea Add unit tests for wc_get_endpoint_url() 2019-08-01 17:23:11 -03:00
Claudio Sanches 83c0e69637 Update wc_format_decimal() tests to check for multiple decimals points 2019-07-31 19:54:58 -03:00
Rodrigo Primo 9752c1f8a0 Update tests documentation
Update tests documentation as PHPUnit now should be installed and called using composer instead of
globally. This commit also includes some other minor changes to the
tests documentation like updating the link of the service used for code
coverage reports.
2019-07-26 14:48:05 -03:00
Gerhard e0371b70e8 Make config flexible to work on local and travis 2019-07-26 09:36:30 +02:00
Gerhard a6eda46b97 npm run 2019-07-25 15:55:33 +02:00
Gerhard e8dff32c88 Use correct variable to trigger visual regression test 2019-07-25 15:28:07 +02:00
Gerhard af39fb7e5f Hook up new run-vis-regression.sh script, do not run unit tests on vis regression tests 2019-07-25 13:12:24 +02:00
Gerhard 5db83f1699 First go at setting up travis to run vis regression tests. 2019-07-24 13:20:41 +02:00
Gerhard b5aa45bf54 Add basic screenshot testing framework using jest-puppeteer and jest-image-snapshot, include basic test with a screenshot. 2019-07-23 15:08:36 +02:00
Rodrigo Primo a8f6a94cda Remove methods assertIsWPError() and assertNotWPError() from WC_Unit_Test_Case
Those two methods are already declared in the class WP_UnitTestCase, so there is
no need to declare them again in the class WC_Unit_Test_Case. The only
caveat is that assertIsWPError() is called assertWPError() in
WP_UnitTestCase so it was necessary to update all of its usages.
2019-07-19 10:56:58 -03:00
Rodrigo Primo 16442956e8 Fix PHPCS errors 2019-07-19 10:19:23 -03:00
Claudio Sanches 5eb11ea77a Remove exception for PHP 5.2 2019-07-18 23:02:30 -03:00
Claudio Sanches 80f1e2fba2 Remove all support for PHP 5.2 in Travis 2019-07-18 23:01:14 -03:00
Claudio Sanches 16041d9247 Fixed failing tests 2019-07-18 22:42:31 -03:00
Claudio Sanches 96c7255fc0 Fixed SpeedTrapListener include 2019-07-18 22:24:40 -03:00
Claudio Sanches 67212d1303 Updated PHPUnit to 7.5.14 2019-07-18 22:02:58 -03:00
Peter Fabian cb9d94ed9b
Merge pull request #24147 from woocommerce/revert-23705-fix/23696
Revert "Prevent negative prices on products"
2019-07-15 11:28:25 +02:00
Gerhard Potgieter 238a5576d0
Merge pull request #24139 from woocommerce/fix/failing-e2e-timeouts
Be sure to run grunt in travis
2019-07-15 09:07:36 +02:00
Gerhard Potgieter 52f1eb4060
Revert "Prevent negative prices on products" 2019-07-15 08:50:11 +02:00
Gerhard e5ae8f10ae Update e2e test for variations to accomodate new missing price message on variations. 2019-07-14 17:47:30 +02:00
Gerhard 0e50e2319c Cleaning up 2019-07-14 17:16:31 +02:00
Gerhard 712969981c Remove extra folder 2019-07-14 17:04:59 +02:00
Gerhard 689d66dae3 npm install, debugging info 2019-07-14 17:01:38 +02:00
Gerhard d3cc901612 Params needs to be first 2019-07-14 16:56:07 +02:00
Gerhard abee4e68c2 Use TRAVIS_BUILD_DIR constant 2019-07-14 16:17:57 +02:00
Gerhard a04f182edb Do not install branch from zip, rather used checked out copy instead. 2019-07-14 16:12:16 +02:00
Gerhard ba1b684f33 Plugin folder auto renamed to woocommerce 2019-07-14 15:57:11 +02:00
Claudio Sanches 77191a97f8
Merge pull request #23705 from woocommerce/fix/23696
Prevent negative prices on products
2019-07-12 12:56:34 -03:00
Claudio Sanches 60c18ce544
Merge pull request #23067 from woocommerce/pr/23043
Allow matching of "any" attributes in find_matching_product_variation…
2019-07-12 12:40:53 -03:00
Gerhard ebe9648fed Branch is manually installed, must go to branch directory and compile from there. 2019-07-12 17:06:45 +02:00
Gerhard bd06f94d01 Introduce grunt e2e-build task and exclude jshint from that. 2019-07-12 16:28:31 +02:00
Gerhard 7ab046bee4 Move grunt call to run-e2e-ci.sh 2019-07-12 16:14:11 +02:00
Gerhard b1514ca9a0 Run grunt in travis before_script 2019-07-12 16:09:55 +02:00
Gerhard aad5b2863a Add more tests to test more expected combinations as well as test the negatives. 2019-07-12 15:10:20 +02:00
Claudio Sanches c63cd802aa
Merge pull request #23957 from woocommerce/feature/feature-plugin-packages
Include external feature plugins as packages
2019-07-10 15:47:48 -03:00
Gerhard Potgieter 49adf8169b
Merge pull request #23672 from woocommerce/fix/23366-2
Auto generate usernames when a username is blacklisted by WP
2019-07-10 15:44:44 +02:00
Mike Jolley c928188831 Update from master 2019-07-10 12:57:02 +01:00
Gerhard 98c24b1090 Merge branch 'master' into pr/23043 2019-07-10 10:34:52 +02:00
Gerhard 5122641be0 Add wc update cli call to the e2e test install. This should fix outdated/missing tables and routines. 2019-07-10 09:20:37 +02:00
Gerhard 22bb52f9be Fix failing unit tests due to changes in #24111 2019-07-10 08:48:33 +02:00
Claudio Sanches 6e6ca196f9
Merge branch 'master' into fix/23340 2019-07-09 16:32:43 -03:00
Rodrigo Primo 34e5018137
Merge pull request #23262 from woocommerce/fix/23257
CSV Import - check if sku or id column exists when updating products from csv
2019-07-09 14:25:03 -03:00
Claudio Sanches 2fa5396cfc Fixed coding standards 2019-07-09 12:43:03 -03:00
Claudio Sanches 32996d2fdd Merge branch 'master' into pr/23043 2019-07-09 12:39:40 -03:00
Gerhard Potgieter a7b6d7bfa4
Merge pull request #24024 from woocommerce/fix/23917/code
Round late when rounding at subtotal to reduce rounding error.
2019-07-09 11:05:40 +02:00
Gerhard 7038c73ab4 Merge branch 'master' into update/exclude-compiled-assets-from-git 2019-07-09 10:57:40 +02:00
Claudio Sanches a4b8184464
Merge pull request #23950 from parmarhardip/fix-23944
Currency changes applied for 'São Tomé and Príncipe dobra' and 'Mauritanian ouguiya'
2019-07-08 16:12:53 -03:00
Claudio Sanches da99bc8ca0 Merge branch 'master' into feature/feature-plugin-packages 2019-07-08 14:33:21 -03:00
vedanshujain 8ab6cb2b5a Round late when rounding at subtotal to reduce rounding error.
We were earlier rounding different tax rate values while they are merged, even if rounding at subtotal setting is enabled. This increases the rounding error, especially when prices are inclusive of taxes, and thus there is a chance that the total will be slightly different from when add the original values. For egs: https://github.com/woocommerce/woocommerce/issues/23917 .

This commit changes this behavior to round *after* we have summed all the precise unround values. Similar for items prices, we now round as late as possible, if rounding at subtotal is enabled.
2019-07-04 22:34:29 +05:30
Gerhard Potgieter 12fbfa5677
Merge pull request #22927 from woocommerce/update/22895
Allow "Thanks" wording in emails to be reworded by admin
2019-07-04 12:43:00 +02:00
Gerhard 29bb165aca Apply unit tests 2019-07-04 11:50:33 +02:00
Gerhard 88442fea1e Update unit tests to match new placeholder text 2019-07-04 11:36:12 +02:00
Peter Fabian 8c0bf2795f Install sniffs only when running PHPCS. 2019-07-04 10:17:39 +02:00
Rodrigo Primo 737f6af5e8 Introduce file type check for tax rate importer 2019-07-02 10:44:21 -03:00
Rodrigo Primo 7324e480e7 Fix phpcs violations 2019-07-02 10:43:52 -03:00
Rodrigo Primo bb78174c33 Remove references to apigen from configuration files
Commit d6bd82865c removed apigen from
WooCommerce core repository as we are moving it to its own repository (https://github.com/woocommerce/woocommerce-api-docs). This
commit removes the apigen from configuration files. In most cases, it is
just removing the apigen directory from the exclude list of things like
PHPCS and Code Climate.
2019-06-28 10:20:30 -03:00
Mike Jolley a0a58cfb15 update from master 2019-06-26 15:26:47 +01:00
Mike Jolley 9a8e8dacff Add integration tests 2019-06-25 15:57:44 +01:00
Mike Jolley de06195ae9 Remove API unit tests 2019-06-25 14:25:31 +01:00
Claudio Sanches fe4dfea8eb
Merge pull request #23771 from woocommerce/fix/23756
Fix Top rated shortcode results
2019-06-24 12:18:57 -03:00
Claudio Sanches 606c0417a9
Merge pull request #23837 from woocommerce/fix/23834
Make NL postcode validation more flexible
2019-06-24 12:17:53 -03:00
MD0123-Hardip 9890ab4164 unit testing changes 2019-06-20 11:37:38 +05:30
Claudio Sanches eedc871bea Update unit tests for wc_format_phone_number() 2019-06-19 17:44:01 -03:00
Mike Jolley 191eb4865b Namespaced v3 tests to v4 2019-06-10 12:36:11 +01:00
Mike Jolley 91647f3051 ProductReviews/Products tests 2019-06-07 17:16:28 +01:00
Mike Jolley 95b72e56f5 Progress adding unit tests from core + wc-admin 2019-06-07 16:32:42 +01:00
Mike Jolley f68e5d1080 Add tests 2019-06-06 17:34:11 +01:00
Claudio Sanches 2f7ec9506f New tests for is_postcode with NL postcodes 2019-05-28 20:55:51 -03:00
Gerhard Potgieter b2ed079520 Manual orders coupon usage limits by email (#23775)
* Add functionality to wp-admin order to check for coupon usage based on email addresses, similar to how WC_Cart handles this seperately, included unit tests.

* Only do the coupon by email usage check if order is from a guest. Fix issue with unit test.
2019-05-27 11:45:29 -03:00
Gerhard f6d9faa062 Introducde wc_load_cart to dynamically load the cart, this allows for functionality outside of frontend to initialise the cart. 2019-05-22 12:24:31 +02:00
Claudio Sanches 8af5117bf4 Fixed unit tests and coding standards 2019-05-20 17:27:25 -03:00
Gerhard Potgieter afd7e72c03
Merge pull request #23690 from woocommerce/update/obw-stripe
Update OWB Payment Gateway structure
2019-05-16 18:26:29 +02:00
Gerhard ddcef3b34c Fix unit test for new scenarios 2019-05-16 16:26:34 +02:00
Gerhard Potgieter 30ce9ff6a3
Merge pull request #23689 from woocommerce/add/get_used_coupon_codes
Deprecate get_used_coupons in favor of get_coupon_codes
2019-05-15 15:34:40 +02:00
Rodrigo Primo 47188f05cb Fix unit tests after changes in the default enabled payment gateways 2019-05-14 19:46:38 -03:00
Rodrigo Primo c8b55ff62d Improve WC_Admin_Setup_Wizard::get_wizard_in_cart_payment_gateways() tests
This commit moves two functions declared inside a test method to their
own protected methods inside the same test class to make it easier to
read the tests and it fixes the order of the parameters for the calls to
Assert::assertEquals(). The first parameter passed to this method should
be the expected value and the second parameter should be the actual
value and not the opposite.
2019-05-14 18:38:53 -03:00
Rodrigo Primo ba792a6589 Fix PHPCS errors 2019-05-14 18:34:21 -03:00
Claudio Sanches 33249f3f3d Updated unit tests for wc_format_decimal() 2019-05-14 13:21:42 -03:00
Gerhard Potgieter b7facc0674
Merge pull request #23663 from danielbitzer/add_get_coupons_method
Add WC_Abstract_Order::get_coupons()
2019-05-14 11:35:21 +02:00
Gerhard 486321161c Update usage of get_used_coupon_codes to get_coupon_codes 2019-05-14 11:21:27 +02:00
Daniel Bitzer 3024043bb4 Add unit test for WC_Abstract_Order::get_coupons() 2019-05-14 15:46:49 +09:30
Gerhard 31acfbcb4a Deprecate WC_Abstract_Order::get_used_coupons in favor of WC_Abstract_Order::get_used_coupon_codes, this reflects the actual data being returned better. 2019-05-13 14:40:54 +02:00
Gerhard Potgieter d2c7d8c86e
Merge pull request #23535 from woocommerce/fix/23518
Fix: parameter values should be converted back as well when building form fields
2019-05-10 10:43:28 +02:00
Claudio Sanches 4c028c13ba Updated unit tests 2019-05-09 17:28:32 -03:00
Gerhard 9300c3436b Run grunt css and js before running e2e tests 2019-05-07 10:56:46 +02:00
Rodrigo Primo 18ee70918b Fix PHPCS violations in tests/ using PHPCBF
This commit fixes all 1533 PHPCS errors that PHPCBF can fix automatically in the tests/ directory. Before this change there was a total of 3106 PHPCS errors in the WooCommerce repository and now there is 1573 errors.
2019-05-01 19:05:00 -03:00
Rodrigo Primo 45c2c78ea2 Fix: parameter values should be converted back as well when building form fields
PR #23196 added a workaround to `parse_str()` limitation when dealing with full-stops, pluses, and spaces in the parameter key. This workaround involved temporarily replacing those three characters with placeholders before calling `parse_str()` and then replacing back to the original form. This commit fixes a bug in this logic that was replacing back only parameters keys and not parameters values.

For example, if the query string is `?query.parameter=foo.bar`, the resulting <input> field contained `foo{dot}bar`, instead of the expected `foo.bar`.
2019-04-26 13:58:27 -03:00
Rodrigo Primo e21430703c Remove redundant calls to var_export() in test_wc_query_string_form_fields()
It is not necessary to use the $message parameter of assertEquals() to output the value of $actual_html, as PHPUnit already output this variable value in case of error.
2019-04-26 11:49:30 -03:00
Mike Jolley 9bf2081869
Merge pull request #23477 from woocommerce/fix/23466
Default category sorting order should be overwritten if defined by get_terms
2019-04-24 16:00:33 +01:00
Mike Jolley 8ffc4fca71 menu_order test 2019-04-24 10:45:33 +01:00
Mike Jolley 8fe68400be name_num tests 2019-04-24 10:44:22 +01:00
Mike Jolley 3945aae94e Test cases for sorting 2019-04-24 10:38:38 +01:00
Mike Jolley a4ba20681e added failing test 2019-04-23 11:48:24 +01:00
Mike Jolley f306d3fc11
Merge pull request #23266 from woocommerce/fix/23234
Switch to subquery for sale product query
2019-04-18 12:36:22 +01:00
Mike Jolley cafd81e6e5
Merge pull request #23329 from woocommerce/fix/23327
Non int value handling in wc_let_to_num
2019-04-18 11:30:57 +01:00
Mike Jolley ceefe98bd0
Merge pull request #23297 from dkjensen/master
Remove tags from product titles when building PayPal request URL
2019-04-18 11:23:55 +01:00
Mike Jolley b686150655
Merge pull request #23196 from woocommerce/fix/23195
Replace full stops before running through `parse_str`
2019-04-18 11:01:59 +01:00
Mike Jolley 630cae2483 phpcs for discounts class 2019-04-17 16:53:02 +01:00
Mike Jolley 29c3f63628 Failing test case for 23340 2019-04-17 16:41:04 +01:00
Gerhard 8ca0bd7b4d Add logic to wc_let_to_num to handle non int values, added unit tests to cover these scenarios 2019-04-17 10:30:49 +02:00
Timmy Crawford e12e4aaa25
Merge pull request #23304 from woocommerce/fix/link-all-variations
[3.6] Fix logic in link all variations
2019-04-15 11:16:22 -07:00
Timmy Crawford 438d22762e
Merge pull request #23246 from franticpsyx/issue-23245
Introduce IN and NOT IN clauses in `WC_Product_Data_Store_CPT::search_products
2019-04-15 11:08:32 -07:00
Rodrigo Primo 60a006d96a Add unit test to cover WC_Tests_Product_CSV_Importer::import() when updating products 2019-04-15 12:00:49 -03:00
Rodrigo Primo 93f2050a2c phpcs fixes 2019-04-15 11:59:55 -03:00
Mike Jolley 6c6785c844
Merge pull request #23269 from marcochiesi/patch-1
Added validation for Italian postcodes
2019-04-15 14:10:01 +01:00
Mike Jolley 1504f8af3e
Merge pull request #23011 from Tofandel/patch-2
Improve the speed of the admin dashboard by only updating transients once per class
2019-04-15 14:03:31 +01:00
Mike Jolley d0c6c54989 Moved link/create code to data store with new unit test
This code was not testable within ajax code, so moved to the data stores.
2019-04-15 11:59:57 +01:00
David Jensen 23bda4503e Add comment 2019-04-12 14:49:17 -07:00
David Jensen ac6da3cb55 Unit test strip HTML from product title when building PayPal request URL 2019-04-12 14:44:38 -07:00
Marco Chiesi 92c356021c
Added missing parameter comments 2019-04-11 01:12:27 +02:00
Marco Chiesi 2a784a3003
Added missing doc comments (coding standards) 2019-04-11 01:03:48 +02:00
Marco Chiesi cba442283c
Fixed wrong tests for Italian postcodes 2019-04-11 00:33:30 +02:00
Ian Jenkins dd67ee2e28 Minor fixes for things noticed when running tests locally.
Was using a directory other than /tmp for temp dir and it was failing,
this was the changes I had to make.
2019-04-10 23:01:44 +01:00
Mike Jolley d3e2d725e7 prevent test showing content 2019-04-10 13:50:42 +01:00
Manos Psychogyiopoulos 2fbb7bda5c Check coding stds 2019-04-10 13:02:52 +03:00
Manos Psychogyiopoulos c1b7c55768 Add exclude param tests 2019-04-10 12:47:31 +03:00
Manos Psychogyiopoulos a9f86ef202 Add include param tests 2019-04-10 12:47:19 +03:00
Manos Psychogyiopoulos e6f25b04d8 Add limit param tests 2019-04-10 12:47:06 +03:00
Timmy Crawford ef4f0f0c0f
Merge pull request #23197 from woocommerce/fix/23182
[3.6] Fix backwards compatibility issues for wc_get_template function w/ tests
2019-04-08 10:19:16 -07:00
Mike Jolley 1cd2959087 unset rather than prevent the template being included. 2019-04-03 16:08:12 +01:00
Mike Jolley 7feae340f2 Add tests 2019-04-03 11:58:15 +01:00
Mike Jolley 2e9ce0a061 unit tests 2019-04-02 15:18:06 +01:00
Mike Jolley c5b31cee3d Unit test for counts 2019-04-02 11:45:58 +01:00
Mike Jolley ad49085571 Append random number to reduce recusion 2019-03-27 12:22:15 +00:00
Mike Jolley 94466460ad Tests 2019-03-26 11:09:30 +00:00
Rodrigo Primo 61a096d871 Fix PHPCS in the Travis builds
PR https://github.com/woocommerce/woocommerce/pull/23082 made some changes to the Travis configuration and one of those changes broke the PHPCS when running inside Travis with the following error:

```
ERROR: Referenced sniff "WooCommerce-Core" does not exist
```

For example: https://travis-ci.org/woocommerce/woocommerce/jobs/509471213#L659

This problem went unnoticed during the PR review as no PHP file was modified in it and thus there was no file for PHPCS to check.

This commit fixes the error above by installing the Composer package `woocommerce/woocommerce-sniffs` which is the package that provides `WooCommerce-Core` sniffs and which installs `wp-coding-standards/wpcs` as one of its requirements. I couldn't find an easy way to make this work installing `woocommerce/woocommerce-sniffs` globally so that is why this commit also removes the `global` parameter when calling composer.
2019-03-21 15:23:42 -03:00
Gerhard e9e64dc30a Use vendor bin folder for calling phpunit 2019-03-19 15:41:43 +02:00
Gerhard 441c79ee41 Fix syntax error in shell script 2019-03-19 15:31:49 +02:00
Gerhard 0a1eb076ea Add PHPUnit call fallback for 5.2 specifically 2019-03-19 15:23:36 +02:00
Gerhard a59969ca53 Do not try to run composer on PHP 5.2 and default to phpunit command instead of specifying path, travis will first try and look for in the composer dirs. 2019-03-19 14:30:54 +02:00
Gerhard d391e87fc7 Update PHPUnit location 2019-03-19 13:47:26 +02:00
Gerhard dc99c30772 Move phpunit call after first params 2019-03-19 13:33:21 +02:00
Gerhard b105550b47 Changes to travis, globally install phpunit and wpcs when required, cache vendor and composer cache directories 2019-03-19 13:14:42 +02:00
Claudio Sanches a425e92672 Removed legacy "Orders index" tool 2019-03-15 11:34:32 +00:00
Adrien Foulon 8bae56d51a
Remove '_' prefix from function 2019-03-13 18:01:53 +01:00
Mike Jolley e2e124f365
Merge pull request #22083 from woocommerce/feature/variation-search
Added storing attribute values as post_excerpt for variations.
2019-03-13 15:09:19 +00:00
Adrien Foulon 7099aa5d1a
Change function call to static 2019-03-13 13:48:39 +01:00
Peter Fabian 2b8d2cf3dd PHPCS on test file. 2019-03-13 13:30:59 +01:00
Peter Fabian 0aa9a09d18 Enforced attribute order to make result unambiguous. 2019-03-13 12:36:46 +01:00
Adrien Foulon a316101358
Fix tests 2019-03-13 11:58:59 +01:00
Peter Fabian 918ea3c5aa Added test for attribute_summary. 2019-03-12 18:40:04 +01:00
Mike Jolley 20d7603dd6 Merge branch 'fix/21034' 2019-03-12 13:47:08 +00:00
Mike Jolley c39f447ff4 Merge branch 'fix/22937' 2019-03-12 13:27:13 +00:00
Mike Jolley 0877e7d8f7
Merge pull request #22954 from woocommerce/add/blocks-rest-api
Merge blocks branch: add 8 product blocks and related API endpoints
2019-03-11 15:18:20 +00:00
Mike Jolley fbda3a91d8 Merge feature/add-tracks into master 2019-03-11 15:15:50 +00:00
Mike Jolley db6a73d474 Make create_attribute helper use core functions 2019-03-11 14:59:10 +00:00
Mike Jolley e55bb84e8b
Merge pull request #22718 from woocommerce/experiment/product-sorting-index
Performance: product sorting lookup table
2019-03-11 13:27:10 +00:00
Kelly Dwan 845300c975 Update test names and comments to reflect correct user role 2019-03-08 15:16:59 -05:00
Mike Jolley 15ca2144d3
Merge pull request #22773 from woocommerce/performance/delete-empty-meta
Performance: delete empty meta
2019-03-08 10:22:31 +00:00
Mike Jolley e7c8db0796
Merge pull request #22887 from woocommerce/update/22882-additional-system-status-values
Additional System Status Options
2019-03-08 10:15:45 +00:00
Mike Jolley a3c2dcd8f2 Update from master 2019-03-08 09:50:56 +00:00
Kelly Dwan 39a8bbf54c Fix space/tab issue for phpcs 2019-03-07 12:32:55 -05:00
Claudio Sanches 14b96f0026 Fixed a typo 2019-03-07 14:23:17 -03:00
Claudio Sanches 7938e352e3 Fixed coding standards 2019-03-07 14:16:07 -03:00
Claudio Sanches ef50a1d5a4 Introduced unit tests for wc_sanitize_phone_number 2019-03-07 14:14:39 -03:00
Mike Jolley 598ac86e95 Tests 2019-03-07 11:08:29 +00:00
Timmy Crawford 85713c4c1a Updates per feedback. 2019-03-06 17:26:18 -05:00
Timmy Crawford 2b59c5db64 REST API: Add Blocks Products Controller 2019-03-06 17:26:17 -05:00
Timmy Crawford e17d835e66 REST API: Add wc-blocks/v1/products/categories 2019-03-06 17:26:16 -05:00
Timmy Crawford afdde006f1 Remove some copied 'terms' in the test file. 2019-03-06 17:26:16 -05:00
Timmy Crawford f4e17ddcee REST API: Add wc-blocks/v1/products/attributes controller. 2019-03-06 17:26:15 -05:00
Timmy Crawford f2fa01d585 PHPCS fixes. 2019-03-06 17:26:15 -05:00
Timmy Crawford c1313d433c Updates per feedback. 2019-03-06 17:26:14 -05:00
Timmy Crawford 4311670956 REST API: wc-blocks/v1/products/attributes/%d/terms 2019-03-06 17:26:13 -05:00
Mike Jolley edb378fcea Tweak test (test_wc_format_coupon_code) now the format function matches titles 2019-03-06 11:53:20 +00:00
Mike Jolley 16a0a3e27e Update from master 2019-03-05 19:03:01 +00:00
Mike Jolley d9d458ce07 Clear cache in tests 2019-03-05 18:19:50 +00:00
Gerhard 5ce0ea762a Missed PHPCS fix 2019-03-05 14:33:10 +02:00
Paul Sealock d968b95b53 Add opt in/out to settings page 2019-03-05 11:06:45 +13:00
Mike Jolley 5af9d968e5 Update from master 2019-03-01 10:29:17 +00:00
Rodrigo Primo 25f0023d38 Fix PHPCS violations automatically using phpcbf 2019-02-27 18:09:11 -03:00
Mike Jolley cc8e516f7a
Merge pull request #22786 from woocommerce/improve/user-registration
Improve user's display_name generation during checkout
2019-02-27 12:55:56 +00:00
nishitlangaliya ee621eec8a fix: filter prefix changed and unit test added for fn:wc_get_product_stock_status_options 2019-02-25 19:03:57 +05:30
Claudio Sanches 79847ccb93 Fixed coding standards 2019-02-20 16:30:46 -03:00
Claudio Sanches 3ac5f32a8b Updated tests for wc_create_new_customer 2019-02-20 16:29:10 -03:00
Mike Jolley 7def966e4f Impoved JSON handling 2019-02-20 12:00:47 +00:00
Mike Jolley d45734b6f3 Tweak indexes tests to test shipping indexes correctly 2019-02-19 15:35:28 +00:00
Mike Jolley 07eadfeb72
Merge pull request #22760 from woocommerce/performance/webhook-loading
Performance: webhook loading
2019-02-19 09:58:06 +00:00
Mike Jolley 2529cd60cd
Merge pull request #22731 from woocommerce/update/21952
Prevent webhooks for drafts and correct create vs updated for manual orders
2019-02-19 09:50:51 +00:00
Claudio Sanches c01e334500 Fixed coding standards 2019-02-18 17:59:34 -03:00
Mike Jolley 4fd2a9f77e Update from master 2019-02-18 15:04:58 +00:00
Mike Jolley 519b29d734 Tests 2019-02-15 12:25:04 +00:00
Mike Jolley 08e8c76eab Update tests 2019-02-15 12:16:59 +00:00
Mike Jolley 84299ff5ed Update the tests 2019-02-13 17:56:41 +00:00
Mike Jolley 0e21b3f4ce Tests 2019-02-07 20:35:45 +00:00
Mike Jolley b2c33b8e34 Merge branch 'master' into performance/slow-term-queries 2019-02-07 13:49:48 +00:00
Mike Jolley 889cf64ac4 Merge branch 'performance/wc-get-product-class' 2019-02-07 13:34:18 +00:00
Mike Jolley 4b485eba13 Fixed unit tests 2019-02-06 21:00:07 +00:00
Claudio Sanches 82c1f8f81b
Merge pull request #22634 from outis/fix-sed-pw
Fix sed pw
2019-02-06 14:43:32 -02:00
Mike Jolley 72314f9dbc Contains was backwards 2019-02-05 14:21:06 +00:00
Mike Jolley cafe8b6b57 Tests check the image URL is contained rather than exact string 2019-02-05 14:11:07 +00:00
Mike Jolley 34dbf96847
Merge pull request #22410 from woocommerce/remove/simplify-commerce
Remove simplify commerce gateway from core
2019-02-04 11:23:23 +00:00
Galen Wright-Watson 00610db7fe Update: docmented install script's handling of metacharacters in passwords. 2019-02-01 14:45:29 -08:00
Mike Jolley de8ff9b719 phpcs 2019-02-01 14:38:47 +00:00
Mike Jolley 3697f5104a fix uncat display 2019-02-01 13:08:04 +00:00
Galen Wright-Watson 8627fc39b9 Update: install script-escape forward & backward slashes and ampersand in supplied password. 2019-01-31 13:09:24 -08:00
Mike Jolley 1e3e5a4528
Merge pull request #22580 from woocommerce/fix/22515
recalculate coupons after adding coupon to order
2019-01-31 14:38:59 +00:00
Mike Jolley 133d108bd8
Merge pull request #22269 from Prospress/fix/22247
convert user creation GMT datestamp to local datetime in API
2019-01-31 12:56:40 +00:00
Toby Robles 59d4a81f1a
Peruvian currency updated 2019-01-30 10:43:52 -05:00
Ron Rennick 28710a522e phpcs sniff fixes for orders.php 2019-01-27 20:57:58 -04:00
Ron Rennick d888f456f8 remove line item subtotal adjustment from api coupon unit test 2019-01-27 20:49:02 -04:00
Galen Wright-Watson baeccdc547 Fix: #22577-"bad flag in substitute command" if password has a '/' character. Cause: unescaped special characters (forward slash) in variable get interpreted as part of sed script. Soln: escape forward slashes when interpolating into sed script. 2019-01-26 23:53:02 -08:00
Mike Jolley 20330b01bd
Merge pull request #22531 from rellect/fix_ssl_check
Fix ssl check in case shop page no longer exists
2019-01-23 20:18:43 +00:00
Refael Iliaguyev 398bbe3754 sniff fixes 2019-01-23 17:26:17 +02:00
Refael Iliaguyev 8f0f22c11b Fix ssl check in case shop page does not exists. 2019-01-23 16:08:13 +02:00
Luigi 548b00c660 Improve the way we do queries (#22043)
* Improve the way we do queries

* PHP legacy compatible

* Update aproach to filter queries with empty values

* Fixing Unit Tests

* Moving Unit Test to its the correct test function

* Filter missing the new param, allow_empty, also simplifiying unit test.

* Helper function to create counpon does not support empty coupon codes

* Helper function does not need to allot empty search

* Wrong code standard

* Fixing Code Standard Unit Test
2019-01-23 13:46:32 +00:00
Mike Jolley 99f663ad5c
Merge pull request #22131 from willgorham/improve-shipping-zone-continents
Improve shipping zone continents [Fixes #22130]
2019-01-23 13:27:16 +00:00
Ron Rennick 89ab2748da update unit test to work when timezone_string is not set, add timezone assertions 2019-01-22 16:58:05 -04:00
Mike Jolley 380201be33
Merge pull request #22417 from woocommerce/fix/21175
Sort countries using new ascii comparison function
2019-01-22 14:47:41 +00:00
Mike Jolley 7ac26ce893
Merge pull request #22518 from Prospress/fix/21779_redux
Fix/21779 redux
2019-01-22 13:29:40 +00:00
claudiulodro cdfe34f79a skip couple tests on old versions 2019-01-21 10:02:55 -08:00
Mike Jolley 6367d19615 phpcs 2019-01-21 08:11:40 -08:00
Ron Rennick ab6012fa3f move test parameters with calculations to separate lines 2019-01-18 23:32:47 -04:00
Ron Rennick 6daf89ad6e add descriptions to report sale by date tests 2019-01-18 23:27:11 -04:00
Ron Rennick 2bb2475e92 phpcs sniff fixes for class-wc-tests-report-sales-by-date.php 2019-01-18 23:26:45 -04:00
Brent Shepherd 739af008c6 Fix test_wc_load_webhooks_status_and_limit()
As the status is being explicitly passed to wc_load_webhooks(), it
will load webhooks with that status, not just active.
2019-01-18 14:30:35 +10:00
Brent Shepherd ed55a3976a Test against $wp_filter instead of has_filter()
Because we don't have the same WC_Webhook instance as used in
wc_load_webhooks(), so it's impossible to check if the same
object's process() method is attached as a callback.
2019-01-18 14:30:35 +10:00
Brent Shepherd 9fdbb124ae Add $limit param to wc_load_webhooks()
And the corresponding data stores. Defaults to null, meaning do not
limit, for backward compatibility.
2019-01-18 14:30:35 +10:00
Brent Shepherd 67bf101aaf Add $status param to wc_load_webhooks()
And the corresponding data stores. Defaults to '', meaning do not
load only webhooks with a specific status. This maintains backward
compatibility. However, the call to wc_load_webhooks() within
WooCommerce::load_webhooks() can now only load active webhooks, as
they are the only ones that should be enqueued.
2019-01-18 14:29:34 +10:00
Gerhard cadcad2c6a Add the -s param to the PHPCS command to see the rules it is failing again when running the precommit hook. 2019-01-17 13:23:14 +02:00
Brent Shepherd 8ee3e8a6e9 Add WC_Tests_Webhook_Functions::create_webhook()
To make it reusable.
2019-01-17 15:12:29 +10:00
Claudiu Lodromanean 989865469e
Merge pull request #22416 from woocommerce/fix/21871
Incorrect rounding of multiple tax rates per location
2019-01-16 09:32:51 -08:00
unknown 883ecc3ca4 removed variable that was not being used 2019-01-11 19:19:15 -05:00
Gerhard c24faa8ab4 Use array_values when checking assertSame for sort comparison of arrays. 2019-01-11 14:02:54 +02:00
Gerhard 0c3f5261c7 Add unit tests for wc_ascii_uasort_comparison 2019-01-11 13:48:37 +02:00
Mike Jolley a4a421a86b Failing test case for the issue 2019-01-11 11:34:47 +00:00
Mike Jolley 1815928208 Merge branch 'master' into pr/21217 2019-01-10 13:10:11 +00:00
Mike Jolley 9d381d456b Remove simplify commerce gateway 2019-01-10 12:01:27 +00:00
Rodrigo Primo 519886838c
Merge pull request #21969 from woocommerce/add/21964
Add woocommerce_valid_location_types filter
2019-01-09 17:02:20 -02:00
Rodrigo Primo 8b129a89bf phpcs fixes 2019-01-09 16:33:38 -02:00
Will Gorham ec9d1d9402 Tests phpcs 2019-01-09 13:31:51 -05:00
Will Gorham 56fa520b8e Tests for get_shipping_continents() 2019-01-09 13:31:30 -05:00
Mike Jolley 0620389e46
Merge pull request #22266 from woocommerce/e2e-update-db
Update e2e tests database to WP 5.0.1 and WC 3.5.2
2019-01-09 12:14:47 +00:00
Mike Jolley ade1021eff
Merge pull request #22205 from woocommerce/fix/22200
Introduce wc_is_webhook_valid_status
2019-01-08 15:32:57 +00:00
Mike Jolley 9a37852bee
Merge pull request #21438 from woocommerce/fix/20997
Unit tests for testing inclusive calculations
2019-01-08 15:31:35 +00:00
Mike Jolley 9644241cef update from master 2019-01-08 14:51:05 +00:00
Mike Jolley 6dba8f3b05
Merge pull request #21498 from liquidweb/feature/sanitize-order-id-tests
Add tests for wc_sanitize_order_id()
2019-01-07 12:46:11 +00:00
JeroenSormani f4775ccd90 Use shipping method instead of property through magic + doc return statements 2019-01-04 12:41:38 +00:00
Claudiu Lodromanean 2f82039869
Merge pull request #21938 from Prospress/fix/21935
Unescape imported escaped CSV formulas in product attributes
2019-01-02 11:59:39 -08:00
Ron Rennick 5dac4075b2 phpcs sniff fixes for customers.php 2018-12-27 11:18:22 -04:00
Ron Rennick bd65e65285 update customer unit test 2018-12-27 11:02:28 -04:00
Rodrigo Primo c6a0c32427 Merge branch 'master' into split-travis-build-job 2018-12-19 11:09:46 -02:00
Rodrigo Primo ee51edad22 Update e2e tests database to WP 5.0.1 and WC 3.5.2 2018-12-19 13:00:55 +00:00
Ron Rennick e04b0fff31 use a more appropriate description for new installation tests 2018-12-18 16:28:49 -04:00
Ron Rennick 6079e1f541 ensure WP database is upgraded for current WP version 2018-12-18 16:02:57 -04:00
Ron Rennick e2f34928d3 update checkout flow for 3.5.0 2018-12-18 14:23:11 -04:00
Ron Rennick 603dd8cfcd remove redundant form update in cart page tests 2018-12-17 16:05:53 -04:00
Ron Rennick 3ab427f8bf add config-theme.js to test that a functional supported theme is active 2018-12-17 15:42:20 -04:00
Ron Rennick 729e7083ae move front end tests to front-end folder 2018-12-17 15:19:34 -04:00
Ron Rennick a924c15dee unpdate unit tests for product export 2018-12-13 13:54:51 -04:00
Gerhard 4852db1e45 PHPCS fixes 2018-12-12 10:38:43 +02:00
Gerhard 189f346c2e Add unit tests for wc_is_webhook_valid_status 2018-12-12 10:33:52 +02:00
Rodrigo Primo 644f6b1cba Use separate Travis build jobs to run e2e tests and PHPCS
This commit creates two new Travis build jobs, one to run the e2e tests and another to run PHPCS. Doing this, instead of running those two checks in the same build job as the PHP 7.2 unit tests, should make the total build time shorter and it should make it easier to see why the build failed.
2018-12-06 09:14:13 -02:00
Rodrigo Primo f7bc3fb851
Merge pull request #21366 from birgire/unit-tests-count-asserting-21365
Use assertCount instead of assertEquals
2018-12-05 11:15:52 -02:00
claudiulodro d1533261f5 Extra sanitizing around payment_method_title 2018-11-30 08:49:43 -08:00
Rodrigo Primo 8b85eee2d0 Ignore WP beta releases when setting WP_TESTS_TAG
This commit changes the regular expression used to determine the WP_TESTS_TAG variable to ignore WP beta releases otherwise install_test_suite() will fail to download the test suite. This is part of workaround to run WooCommerce unit tests using PHP 7.3 and WP 5.0 beta-5.
2018-11-20 14:43:38 -02:00
Gerhard e4ba5c7f3f Add unit tests for new woocommerce_valid_location_types filter. 2018-11-19 13:21:02 +02:00
Claudiu Lodromanean 900d3bad93
Merge pull request #21778 from woocommerce/fix/21426
Make get_on_sale_products not include non published parent results
2018-11-06 15:50:31 -05:00
claudiulodro 0fa1448cfe Topic blacklist 2018-11-02 10:21:30 -07:00
Gerhard 0bb4ef713b Add tests to make sure draft parent products are not included in the get_on_sale_products results 2018-11-01 12:13:47 +02:00
Gerhard be5775a28c Add unit test for wc_checkout_fields_uasort_comparison 2018-10-31 08:46:49 +02:00
AlexeyKhmyrov c432c619d1 Change unit tests for wc_format_dimensions() 2018-10-23 13:56:27 -05:00
Rodrigo Primo 12af00e38f
Merge pull request #21605 from woocommerce/fix/21578
Fix: WC_Product::get_image() should use $attr parameter
2018-10-18 14:34:02 -03:00
Claudiu Lodromanean c994956f03
Merge pull request #21573 from woocommerce/fix/21548
Simplified path check for CSV importer to cause less issues
2018-10-18 07:56:34 -07:00
Rodrigo Primo 05aa357b98 Add unit tests for WC_Product::get_image() 2018-10-17 19:40:57 -03:00
Rodrigo Primo bbf6282d07 Simplify WC_Product_Simple tests
Use setUp() method to define a product object that is used in all the tests instead of duplicating code and creating a product object in every test.
2018-10-17 19:22:16 -03:00
Steve Grunwell 550b309901 Merge branch 'master' into feature/sanitize-order-id-tests 2018-10-17 02:21:04 +00:00
Steve Grunwell 6f77040eb4 Since PHP 5.2 runs a *really* old version of PHPUnit (that doesn't support the @testWith annotation), run the scenarios in a single test case 2018-10-17 02:05:10 +00:00
claudiulodro ccdf6d0253 Simplified path check for CSV importer to cause less issues 2018-10-15 13:50:34 -07:00
Rodrigo Primo 2854f8654b Add two unit tests for wc_dropdown_variation_attribute_options()
Those two tests covers only the basic functionality of this function.
2018-10-15 12:20:31 -03:00
Claudiu Lodromanean e0d31107ea
Merge pull request #21523 from woocommerce/fix/21509
Fix DB log handler cleanup
2018-10-12 08:22:22 -07:00
claudiulodro 4be0018c09 Backwards compatibility in unit test 2018-10-11 13:31:37 -07:00
Claudio Sanches 06e5fe1fd8 Fixed coding standards in unit tests 2018-10-11 13:31:37 -07:00
claudiulodro c9c12c2518 Initial implementation 2018-10-11 13:31:37 -07:00
claudiulodro cf96455559 Add test to verify issue 2018-10-11 13:31:37 -07:00
claudiulodro 5f2b915f18 Add filter for ease of extensions 2018-10-11 13:31:30 -07:00
claudiulodro 75bfc8e4bb Add unit tests 2018-10-11 13:31:30 -07:00
Rodrigo Primo b9c364a475 Add call to parent::tearDown()
It is usually necessary to call parent::tearDown(); when extending tearDown() to make sure WordPress cleanup routines are executed after each test.
2018-10-11 13:31:27 -07:00
claudiulodro f2422a284a Remove filter after running tests 2018-10-11 13:31:27 -07:00
claudiulodro 26b188569b Add filter for disabling file path check 2018-10-11 13:31:27 -07:00
claudiulodro 441fe32f0b Add filetype checking for all files located on the server 2018-10-11 13:31:18 -07:00
Rodrigo Primo 2a08fa3a7b Add test to check WC_Log_Handler_DB::delete_logs_before_timestamp() basic functionality 2018-10-11 15:25:12 -03:00
Rodrigo Primo 402144893b Remove unnecessary code to cleanup tests
WP test case cleans the database automatically after each test so there is no need to do it automatically.
2018-10-11 15:11:28 -03:00
Rodrigo Primo af32bfe329 Fix phpcs violations automatically using phpcbf 2018-10-11 15:10:46 -03:00
Claudiu Lodromanean 4b9ab4b8db
Merge pull request #21513 from scottcwilson/readme_assert
Fixes #21363 Recommends using assertSame rather than assertEquals
2018-10-10 09:07:14 -07:00
Scott C Wilson bdf406eb1e Fixes #21363 Recommends using assertSame rather than assertEquals 2018-10-09 07:34:54 -04:00
Steve Grunwell c3b76a38f7 Add a test for handling errors during order status transitions 2018-10-06 18:09:44 +00:00
Steve Grunwell 65cda44fe6 Add tests for wc_sanitize_order_id()
This commit adds four test cases (via a PHPUnit data provider) for the `wc_sanitize_order_id()` function.

While writing the tests, it was also discovered that the function was returning a *string*, not an integer as indicated by the DocBlock, so explicit type-casting was added.
2018-10-04 13:53:55 +00:00
Claudiu Lodromanean 543c63072d
Merge pull request #21461 from dgwatkins/master
The orderby=ID argument needs to be uppercase.
2018-10-03 10:13:53 -04:00
Claudiu Lodromanean 2368c4d4a8
Merge pull request #21448 from dyszczo/bugfix/logger-instance-warning
Fix for warning in wc_get_logger when woocommerce_logging_class retur…
2018-10-03 10:05:25 -04:00
David Garcia Watkins 7a55f67f47 Fix test 2018-09-28 18:46:05 +02:00
Claudiu Lodromanean 9f77ef8526
Merge pull request #21455 from woocommerce/fix/20912
Change query to save session data
2018-09-27 10:39:46 -07:00
Claudiu Lodromanean f5d5cad65c
Merge pull request #21241 from woocommerce/fix/21226
Revise coupon logic and add tests.
2018-09-27 08:58:47 -07:00
Rodrigo Primo 4ca5afe248 Add unit tests to cover some of the WC_Session_Handler methods 2018-09-26 14:48:28 -03:00
dyszczo 6019e91e5e php 5.3 compatibility 2018-09-26 15:53:52 +02:00
dyszczo 94ed5a2460 fix for wc_logger test 2018-09-26 15:37:08 +02:00
dyszczo 7f5122d502 Fix for warning in wc_get_logger when woocommerce_logging_class returns valid logger instance 2018-09-26 12:56:59 +02:00
claudiulodro f14463e07a Unit tests for testing inclusive calculations 2018-09-25 10:41:23 -07:00
Claudio Sanches 13b265a076 Fixed unit tests 2018-09-20 17:48:31 -03:00
Birgir E 62e3418267 init 2018-09-16 12:09:50 +00:00
Claudiu Lodromanean ea9aa8cd59
Merge pull request #21344 from Chouby/fix_testcase
setUpBeforeClass must always call its parent
2018-09-14 10:53:04 -07:00
Gerhard Potgieter 9a15f422c3 Add unit test for wc_sanitize_endpoint_slug 2018-09-14 09:42:19 +02:00
Frédéric Demarle 620008d46a setUpBeforeClass must always call its parent 2018-09-13 13:35:22 +02:00
Claudio Sanches ac47cd6394 Test if coupon is invalid 2018-09-11 18:31:02 -03:00
Claudio Sanches 0d49421239 Fixed coding standards 2018-09-11 18:11:31 -03:00
Claudio Sanches d4b1089150 Fixed unit tests 2018-09-11 18:11:11 -03:00
Claudio Sanches 518d1f0a00 Updated unit tests 2018-09-10 19:26:37 -03:00
Claudio Sanches 61873627a7 Merge branch 'master' into feature/rest-api-v3 2018-09-10 19:16:22 -03:00
Claudiu Lodromanean ba0a989a38
Merge pull request #21306 from woocommerce/feature/21115
[REST API] Reports totals endpoints
2018-09-10 10:23:56 -07:00
Peter Fabian 252670b616 Merge branch 'feature/rest-api-v3' into save-old-tests
# Conflicts:
#	tests/unit-tests/api/products.php
2018-09-10 16:07:35 +02:00
Peter Fabian f6ca4db90e Updated tests for settings endpoint to reflect changes in v3 REST API. 2018-09-10 15:53:41 +02:00
Peter Fabian ec4000232d Updated tests to reflect changes for variations in v3 REST API. 2018-09-10 15:49:07 +02:00
Peter Fabian b6f229238e Updated payment gateways tests for v3 REST API. 2018-09-10 15:42:46 +02:00
Peter Fabian f68bef3e24 Update customers endpoint tests for v3 REST API. 2018-09-10 14:20:23 +02:00
Claudio Sanches 047ad849b4 Fixed /reports/products/totals unit tests 2018-09-08 23:10:20 -03:00
Claudio Sanches 14a1217218 Load all product types even when empty 2018-09-08 22:45:51 -03:00
Claudio Sanches e154b9d0a6 /reports/reviews/totals unit tests 2018-09-08 22:33:59 -03:00
Claudio Sanches e322f279cd /reports/products/totals unit tests 2018-09-08 22:33:44 -03:00
Claudio Sanches 570d0aa3e5 /reports/orders/totals unit tests 2018-09-08 22:33:30 -03:00
Claudio Sanches 975d855edc /reports/customers/totals unit tests 2018-09-08 22:33:14 -03:00
Claudio Sanches c2b4146db3 /reports/coupons/totals unit tests 2018-09-08 22:32:20 -03:00
Claudiu Lodromanean 0cc137be1e
Merge pull request #20848 from woocommerce/fix/20844
Make wc_get_attachment_image_attributes do what it is suppose to.
2018-09-07 12:08:34 -07:00
claudiulodro 08a76e1eea Add srcset handling 2018-09-07 11:36:03 -07:00
Peter Fabian 028db78960 Updated tests. 2018-09-06 17:41:24 +02:00
Claudio Sanches bf69627cb1 Unit tests 2018-09-03 11:05:17 -03:00
claudiulodro e24aa057ad Revise coupon behavior and add unit tests 2018-08-31 08:35:41 -07:00
Coen Jacobs e737d879e1 Make related unit test variables more readable 2018-08-31 07:47:05 -07:00
Claudiu Lodromanean fd722da88a
Merge pull request #21188 from woocommerce/fix/21156
Updated phone validation and formatting rules.
2018-08-30 09:52:13 -07:00
Grzegorz Rola a1cc439569 Code style changes. 2018-08-29 19:43:57 +02:00
Grzegorz Rola 2a7d84c208 Clean data after test. 2018-08-29 19:24:29 +02:00
claudiulodro 20886138aa Add unit test to verify coupon validation changes 2018-08-29 13:28:43 -03:00
Grzegorz Rola 9e32117d73 Tests. 2018-08-29 18:18:57 +02:00
Claudiu Lodromanean b80c6d86fc
Merge pull request #21207 from woocommerce/speedup-get-request-url-test
Reduce WC_Tests_Paypal_Gateway_Request::test_request_url() execution time
2018-08-28 13:25:09 -07:00
Rodrigo Primo 8b62d5b06e Reduce WC_Tests_Paypal_Gateway_Request::test_request_url() execution time
This commits reduces the execution time of the test WC_Tests_Paypal_Gateway_Request::test_request_url() from about 30s to about 6s (which is still super slow and even after this change this test is still the slowest in our test suite). This test creates several products that are needed to test different scenarios. To make it run faster, the code was changed to create the WC_Product objects without saving them to the database. Just interacting with the objects is enough to this test and skipping the database makes it run much faster. Other tests might benefit from the same technique.
2018-08-27 19:04:50 -03:00
Rodrigo Primo f830c3e3dc Remove more unnecessary cleanup code from unit tests
See #21150 for more details.
2018-08-27 18:37:33 -03:00
Rodrigo Primo 7b6fcd18b5 Remove unused code 2018-08-27 17:54:55 -03:00
claudiulodro 00e9af285c Fix shipping tests and clean up code 2018-08-27 13:14:32 -07:00
claudiulodro 0e67fd6d4d Reset payment gateways between tests 2018-08-27 12:05:13 -07:00
Claudiu Lodromanean 1b405c2c12
Merge pull request #21162 from wackywombaat12/Fix/20987
Fix/20987
2018-08-24 09:51:23 -07:00
Claudiu Lodromanean 0627ef916c
Merge pull request #21165 from woocommerce/fix/21145-2
Added tests for _fields query param for system_status/tools endpoint.
2018-08-24 09:42:29 -07:00
claudiulodro 2466728183 Set up unit tests for v3 api and v2 api 2018-08-24 08:49:37 -07:00
Peter Fabian e2ebf84f65 Updated API version in test to v3. 2018-08-24 17:24:52 +02:00
Peter Fabian b05cfc6b17 Updated API version in test to v3. 2018-08-24 17:22:38 +02:00
Peter Fabian 6f025fbcc4 Updated test comment. 2018-08-24 15:56:10 +02:00
Peter Fabian 897af8d20e Updated phone validation and formatting rules. 2018-08-24 15:43:46 +02:00
Jack Boyle 63b84ef407 Fix Requested Changes
Changed to check if field exists and the field is not blank.
2018-08-24 13:03:09 +10:00
Claudiu Lodromanean 9b222d69c9
Merge pull request #21170 from woocommerce/update/remove-tests-unnecessary-code
Remove unnecessary cleanup code from more unit tests
2018-08-23 14:07:47 -07:00
Claudiu Lodromanean babfacd6bb
Merge pull request #21108 from woocommerce/fix/21025
Set tabindex=1 for notices
2018-08-23 13:11:08 -07:00
Rodrigo Primo 5f6c729107 Remove unnecessary clean up code from unit tests
This commit removes unnecessary clean up code form some unit tests. All database changes done during a test are automatically reverted after the test finishes, so it is not necessary to write code to manually remove them. This change simplifies the test code and make it run a bit faster.
2018-08-23 15:15:17 -03:00
Rodrigo Primo b7507ca8b3 Automatically fix phpcs violations using phpcbf 2018-08-23 15:15:11 -03:00
Peter Fabian cf466aedd8 Added tests for _fields query param for system_status/tools endpoint. 2018-08-23 15:33:58 +02:00
Peter Fabian c4dc7cb0de Added test for _fields for system_status endpoint. 2018-08-23 15:19:04 +02:00
Jack Boyle fd33f2c2a6 Added Tests
Added Tests for new wildcard functionality.
2018-08-23 15:23:35 +10:00
Peter Fabian dde3c9fa7b Fixed unit tests. 2018-08-22 10:12:32 +02:00
Rodrigo Primo aa8c0c7629 Remove unnecessary cleanup code from cart test
This commit removes a bunch of unnecessary cleanup code from cart tests. All database changes are automatically reverted after each test, so it is not necessary to write code inside the test to manually revert the changes that were made. One test method was split into three different methods for clarity and to avoid having to revert database changes manually between each part of the test.

This change makes the tests easier to read but also reduced the execution time of the cart tests in about 15%.
2018-08-21 11:41:31 -03:00
Peter Fabian e8956953ba Updated test. 2018-08-09 12:22:26 +02:00
Claudiu Lodromanean 11911aa2ea
Merge pull request #20870 from woocommerce/add/export-products-based-on-category
Add category filter to product export functionality.
2018-08-08 08:51:58 -07:00
Gerhard Potgieter 136f7689eb Update unit test for product exporter category to be array. 2018-08-07 17:44:27 +02:00
Claudiu Lodromanean d32a675c25
Merge pull request #20931 from woocommerce/fix/download-log-data-store
Fix: orderby and order parameters in WC_Customer_Download_Log_Data_Store::get_download_logs()
2018-08-04 07:57:17 -07:00
Claudio Sanches 355eba85ca Updated unit tests 2018-07-31 13:46:59 -03:00
Claudio Sanches 7416be5644 Updated unit test class name 2018-07-31 13:36:31 -03:00
Claudio Sanches ab2514bfd4 Updated unit tests for reviews 2018-07-31 13:33:51 -03:00
Rodrigo Primo b09bb3eee9 Fix: orderby and order parameters in WC_Customer_Download_Log_Data_Store::get_download_logs()
This commit fixes a bug in WC_Customer_Download_Log_Data_Store::get_download_logs() that made impossible to change the order in which the query returned the results. This method accepts the arguments order_by and order, but it was ignoring them and always using the default values ('download_log_id' and 'ASC' respectively).

It also introduces a very basic unit test to cover the method main functionality and to make sure that the parameters order and orderby are not ignored anymore.

It seems that the modified method was inspired in WC_Customer_Download_Data_Store::get_downloads() before the same bug was fixed in #18620.
2018-07-30 16:40:21 -03:00
Peter Fabian 4e7bc117e4 Update unit tests. 2018-07-26 15:11:24 +02:00
Gerhard Potgieter 73b80c9241 Remove extra asterisk 2018-07-25 14:09:04 +02:00
Gerhard Potgieter 5a0d3c8bf7 Fix indentation issues caused by github conflict tool 2018-07-25 14:07:57 +02:00
Gerhard Potgieter da82639ebc
Merge branch 'master' into update/core-function-unit-tests 2018-07-25 14:05:12 +02:00
Claudiu Lodromanean 9e3da78c73
Merge pull request #20853 from woocommerce/reduce-test-suite-execution-time
Reduce WC_Tests_REST_System_Status tests execution time
2018-07-24 10:46:26 -07:00
Claudiu Lodromanean a0b4a8df03
Merge pull request #20611 from woocommerce/fix/20349
Allow filtering variations by attributes in API.
2018-07-24 10:25:36 -07:00
Gerhard Potgieter 7143b67189 Include setting category to product export test 2018-07-23 12:26:58 +02:00
Gerhard Potgieter 8aba169654 Switch travis codecoverage from xdebug to phpdbg (#20857)
This commit changes the travis codecoverage from using xdebug to phpdbg, phpdbg seems much faster and gives similar results.

Reason for switching is we have been running into constant timeouts on our codecoverage due to the 50min job limit on travis, which means our codecoverage has not been updated in a couple of months.

* Remove xdebug as it slows tests down, switch to using phpdbg for code coverage.

* Update parameters for phpdbg

* It is qrr not qqr

* Include vendor/bin path when using phpdbg

* Use PHP 7.1 to run phpdbg

* Update phpunit dire

* Include $HOME in phpdbg call to phpunit

* Set no memory limit to avoid out of memory errors.

* Assign timeout group to test_request_url test for paypal and do not execute that on coverage as it causes a memeory timeout. Test needs optimization to run for code coverage.

* @covers usage for methods should be prefixed with ::
2018-07-20 09:34:43 -03:00
Rodrigo Primo f47c9e7842 Reduce WC_Tests_REST_System_Status tests execution time
This commit changes WC_Tests_REST_System_Status tests to use artificial HTTP responses instead of performing external HTTP requests. With this change execution time for these tests droped from 22s to 3s.
2018-07-19 14:22:29 -03:00
Rodrigo Primo 1860cd1933 Change WC_Unit_Test_Case to extend WP_HTTP_TestCase instead of WP_UnitTestCase
This commits changes WC_Unit_Test_Case parent class to WP_HTTP_TestCase (which extends WP_UnitTestCase). This way all WC core test classes can benefit from the functionality provided by WP_HTTP_TestCase if needed. This is necessary because otherwise test classes can use the functionality provided by WC_Unit_Test_Case or WP_HTTP_TestCase. This change should not affect test classes that don't explicitly call one of the WP_HTTP_TestCase features.
2018-07-19 14:17:06 -03:00
Rodrigo Primo 1d13dd4dd4 Use an artificial HTTP response for wc_do_oembeds() test
Doing this to speed up the test as an HTTP request to an external server is slow and also because it should fix this test that has been failing on Travis only for an unknown reason.
2018-07-19 10:35:32 -03:00
Rodrigo Primo fb9aa71b33 Undoing DB changes on tearDown() is not necessary
WP test suite starts a transaction when the test starts and roll it back when the test finishes. So it is not necessary to undo database changes using tearDown().
2018-07-19 10:35:19 -03:00
Gerhard Potgieter 847d5b680d Add unit test for test_wc_get_attachment_image_attributes 2018-07-19 12:04:36 +02:00
Peter Fabian a26530f84a
Merge pull request #20846 from woocommerce/fix/e2e-tests
Enable SCRIPT_DEBUG on e2e tests
2018-07-19 11:18:38 +02:00
Gerhard Potgieter c3993accd4 Set SCRIPT_DEBUG to true for e2e tests since we never commit minified js during dev, only once we do a release do we minify scripts. 2018-07-19 09:06:11 +02:00
Rodrigo Primo 34ec2e87c0 Add wp-http-testcase directly to the repository
This commit adds the composer package jdgrimes/wp-http-testcase directly to this repository instead of via composer. Doing this because I couldn't find a way to make this package work on Travis build jobs running older versions of PHP and I don't think it is worth investing much time on it.
2018-07-18 18:19:39 -03:00
Rodrigo Primo 0e785d4614 Make WC_Tests_Product_CSV_Importer::test_import() faster
This commit changes the WC_Tests_Product_CSV_Importer class to use artificial HTTP responses instead of performing real HTTP requests to a external server to get the images of the imported products. On my local machine, this change reduced the test execution time from 3257ms to 831ms.

As a consequence of this change, this commit also fixes WC_Tests_Product_CSV_Importer::test_import() in all Travis builds. This test has been failing for a few weeks on Travis but not on our local environments. After some debugging, I found out that the test was failing on Travis because of the following error when `wp_safe_remote_get()` was called to get images for the imported products:

```
Error getting remote image http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_1_front.jpg. Error: cURL error 35: gnutls_handshake() failed: Handshake failed.
```

Apparently, the PHP binary that is used by Travis is unable to handle the TLS handshake (see https://github.com/travis-ci/travis-ci/issues/6339) and the test probably started failing when demo.woothemes.com (which is used to download the images for the imported products) switched from HTTP to HTTPS.
2018-07-18 17:16:26 -03:00
Gerhard Potgieter 1f46caaa4c Test some edge cases where CC name could be empty or contain a non standard value. 2018-07-16 13:02:24 +02:00
Gerhard Potgieter 370c200076 Make wc_array_cartesian test use predefined array for testing against instead of relying on product attributes. 2018-07-16 12:59:01 +02:00
Gerhard Potgieter 9e495478f4 Add unit test for wc_decimal_to_fraction 2018-07-11 15:17:00 +02:00
Gerhard Potgieter a28253739f Add wc_get_permalink_structure unit test 2018-07-11 15:10:55 +02:00
Gerhard Potgieter 0c01b6c3bb Add wc_get_credit_card_type_label unit test 2018-07-11 15:05:18 +02:00
Gerhard Potgieter 1d5605c9dc Add wc_array_cartesian unit test 2018-07-11 14:59:05 +02:00
Gerhard Potgieter 2f7e42bb2f Add wc_get_theme_support unit test 2018-07-11 14:38:33 +02:00
Gerhard Potgieter eb533d0263 Update test_get_woocommerce_currencies to test for both cached and uncached currencies, gives us more code coverage 2018-07-11 14:25:42 +02:00
Gerhard Potgieter a6e7ae15f9 Add unit test for testing wc_get_user_agent 2018-07-11 14:11:31 +02:00
Peter Fabian 28cb32e54b PHPCS fixes. 2018-07-09 18:30:10 +02:00
Peter Fabian 7443a2f906 Switched variation creation to CRUD methods for unit test. 2018-07-09 18:27:56 +02:00
Peter Fabian 3af9c1e95b Merge branch 'master' into fix/20349
# Conflicts:
#	tests/framework/helpers/class-wc-helper-product.php
#	tests/unit-tests/api/products.php
2018-07-09 18:18:06 +02:00
Peter Fabian 4a42e2a7fc Added unit tests for query params for variations REST API endpoint. 2018-07-09 17:12:23 +02:00
Peter Fabian 55d7ea4ac5 Improved unit tests for products REST API endpoint. 2018-07-09 17:11:50 +02:00
Gerhard Potgieter bc3c780b92 PHPCS fixes 2018-07-09 13:04:16 +02:00
Gerhard Potgieter 1fdcf2a238 Fix log file deletion functionality. 2018-07-09 13:01:23 +02:00
Peter Fabian 6c70064a82 Added test products API for product tag and attributes query parameters. 2018-07-06 16:57:40 +02:00
Peter Fabian e769029af6 Make create_attribute function for PHPUNIT more versatile by removing hardcoding. 2018-07-06 16:08:32 +02:00
Peter Fabian 1091eb5feb PHPCS corrections. 2018-07-06 16:01:49 +02:00
Peter Fabian fe77b9e54f Fixed the variation product helper in unit tests.
Previously, the variable product had 2 variations, but one of them had a term assigned ('large') that wasn't assigned to the parent product. Normally, when variable product is created, parent has all the terms assigned to its children assigned.
2018-07-06 16:00:59 +02:00
Peter Fabian 9c420125a3 Added tests for API query parameters for products endpoint. 2018-07-06 12:58:57 +02:00
Claudiu Lodromanean 2a3cedddcd
Merge pull request #20520 from woocommerce/feature/product-custom-tables-supporting-changes
Product custom tables supporting changes
2018-06-27 08:57:50 -07:00
Gerhard Potgieter 2df62edec1 Improve the replacement for wc_format_phone_number a bit more, seems like we allow spaces and plus signs, remove non visible unicode with seperate preg_replace 2018-06-27 09:37:44 +02:00
Peter Fabian 8fd4777fb4 Fixed PHPCS whitespace. 2018-06-25 10:57:52 +02:00
Peter Fabian 6ba409b772 Added category related unit tests for products API. 2018-06-23 13:54:36 +02:00
Peter Fabian 97983a2d45 Fixed missing terms in unit tests.
in teardown method, terms are deleted, so e.g. Uncategorized product_cat was only avaialble if test was run individually, not in the whole batch. Should now be fixed.
2018-06-23 13:50:31 +02:00
Rodrigo Primo b6e73f528b Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-06-15 14:56:31 -03:00
Claudiu Lodromanean c203ff16d9
Merge pull request #20482 from woocommerce/fix/20452
Avoid price setting when synced with children
2018-06-15 09:05:13 -07:00
Mike Jolley 9a550c4a35 Update to correct type in unit test 2018-06-14 16:34:36 +01:00
Claudiu Lodromanean 73dbec001a
Merge pull request #20456 from JPry/custom_coupon_item_limit
Custom coupon item limit
2018-06-13 09:57:47 -07:00
Mike Jolley 77e887efe9 code standards 2018-06-13 16:55:39 +01:00
Mike Jolley 31058ac215 Tests -> CRUD 2018-06-13 16:30:42 +01:00
Gerhard Potgieter ab769eb8a7 Update test_save_default_attributes to make use of propper attributes before checking defaults 2018-06-13 15:49:38 +02:00
Mike Jolley 812586742b Allow only valid default attributes 2018-06-13 14:33:13 +01:00
Mike Jolley 9ec7eba0f6 update image URLs 2018-06-13 11:53:30 +01:00
Mike Jolley c37f724326 Break up tests/test contents 2018-06-13 11:39:28 +01:00
Mike Jolley 01a3e359c3 Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-06-13 10:18:38 +01:00
Rodrigo Primo 69e1547cd9 Update e2e tests database to the latest WC db version 2018-06-12 09:02:40 -03:00
Brent Sessions 8fc43f0cad Skip upload from forks (#20462)
This will skip the uploading of screenshots if the S3 key is not present. This will happen when there is a PR for a fork submitted.

* Skip upload from forks

* trying with failing test

* Fixing tests

* need a rebuild
2018-06-11 13:59:59 -03:00
Gerhard Potgieter 3b9d403b02 Add geolocation::get_ip_address tests 2018-06-11 11:10:11 +02:00
Claudiu Lodromanean 3d4dfda568
Merge pull request #20435 from rnaby/070618-212333-wc-privacy-exporters-customer_data_exporter
Removed unnecessary parameter. Also removed from tests.
2018-06-08 11:34:42 -07:00
Jeremy Pry a2d3313b36 Add unit tests around coupon item limit setting
Also updates the `WC_Helper_Coupon` class to make it easier to register custom coupon types during tests.

For #20455
2018-06-08 14:17:39 -04:00
Rodrigo Primo c2616b74f2
Merge pull request #20439 from woocommerce/update/improve-e2e-screenshots
Only try to upload screenshots if directory is not empty
2018-06-08 09:34:45 -03:00
Claudiu Lodromanean dc20237f40
Merge pull request #20426 from woocommerce/fix/20386
Made path /orders/refund_id return invalid order id msg instead of error.
2018-06-07 10:50:46 -07:00
Khan M Rashedun-Naby 4b14cbc727 Removed unnecessary parameter. Also removed from tests. 2018-06-07 21:25:13 +06:00
Rodrigo Primo cc4871e5ca Only try to upload screenshots if directory is not empty
This commit adds a check before the code that uploads screenshots of failed e2e tests to make it run only if running the Travis build job that executed the tests and if the screenshots/ directory is not empty. There is no need to always download Travis artifacts and try to upload to S3 if there is nothing to upload.
2018-06-07 11:50:36 -03:00
Brent Sessions c64a35300a Take screenshots of failed e2e tests (#20313)
This adds screenshots for broken e2e tests. The screenshots will also be uploaded to an Amazon S3 instance from Travis CI so they can be viewed. If run locally, there will be a screenshots directory created where they can be viewed

If there is a failed e2e test you'll see a block under `travis.sh after` in the build log in Travis CI that will give the URLs for the images.

* Adding screenshot capabilities to all tests

* trying screenshots on S3

* try to get a failed test

* finding the right path

* fixing yml

* only taking failed screenshots

* fixing yml

* moving paths to env

* fixing target

* try without artifact target

* fixing test

* setting back temporary changes

* fixing spacing

* unneeded change

* trying different uploader

* Force a failed test

* fixing test again

* fixing  unneeded change

* updating git ignore
2018-06-07 11:31:37 -03:00
Peter Fabian b5c420de99 Fixed milestone according to issue tag. 2018-06-07 15:36:27 +02:00
Peter Fabian 185675c69e Added unit test to cover the orders/refund_id. 2018-06-07 14:58:53 +02:00
Mike Jolley 4df54b4e53 Merge branch 'master' 2018-06-07 11:24:12 +01:00
Mike Jolley 58c5ddc8d0 Remove test 2018-06-07 11:23:11 +01:00
Gerhard Potgieter 0d8f002769 Unset the server variable on teardown to avoid out of memory errors 2018-06-01 14:49:02 +02:00
Rodrigo Primo 7979ea6b1a Use ob_end_clean() instead of ob_get_clean()
Doing this change since the content of the output buffer is not used.
2018-05-29 09:02:40 -03:00
Gerhard Potgieter b3a9d5b4c2 Remove unused variables 2018-05-29 07:33:19 +02:00
Gerhard Potgieter dbd476e7de Add unit tests for importing taxes 2018-05-28 11:18:42 +02:00
Gerhard Potgieter 54b23918b9 Fix broken system status unit test, https://github.com/woocommerce/woocommerce/pull/20231 introduced a new item to the schema 2018-05-25 14:19:14 +02:00
Mike Jolley 58b9be29b9
Merge pull request #20191 from woocommerce/fix/20186
Product import from file on server
2018-05-25 12:29:27 +01:00
Gerhard Potgieter 2f9c9e4954 Fix server file upload test 2018-05-25 13:00:59 +02:00
Mike Jolley f05167df17
Merge pull request #20222 from liquidweb/fix/iso-3166-1-alpha-2
Ensure tests use ISO 3166-1 alpha-2 country codes
2018-05-25 10:32:48 +01:00
Mike Jolley 171139295c
Merge pull request #20193 from woocommerce/fix/20192
Fix WC_Coupon constructor with Coupon object
2018-05-25 10:29:38 +01:00
Steve Grunwell 4bbf9c364d Ensure tests use ISO 3166-1 alpha-2 country codes
[According to the WooCommerce wiki](https://github.com/woocommerce/woocommerce/wiki/Order-and-Order-Line-Item-Data) and `WC_REST_Orders_Controller`, WooCommerce stores country codes using the ISO 3166-1 alpha-2 (2 character) standard. However, the `WC_Tests_Order_Functions::test_wc_get_order_address_params()` test method was using 'USA' instead of 'US'.
2018-05-24 20:50:01 +00:00
Peter Fabian 082c1dfaf3 Excluded children categories from WP_Query in product shortcode if cat_operator=AND. 2018-05-24 16:12:48 +01:00
Gerhard Potgieter 3c2221a4b0 Add a exception test to coupon delete 2018-05-24 12:37:52 +02:00
Gerhard Potgieter 9bc6ca5df3 Fix the coupon data store delete unit test, you should not have been able to create a new datastore from a deleted coupon ID. See product data store tests are reference for this. 2018-05-24 12:26:36 +02:00
Gerhard Potgieter 07c18b59f0 Add unit test to test again passing a coupon object in the constructor 2018-05-24 11:28:24 +02:00
Gerhard Potgieter dbafe34ed2 Fix test to test the actual file upload and not just the import 2018-05-24 09:18:26 +02:00
Gerhard Potgieter 16385a957c Add unit test for testing products in ABSPATH on server. 2018-05-24 08:56:57 +02:00
Mike Jolley 2aec467de8
Wait for address fields to update in e2e checkout test (#20176)
* See if this error is breaking e2e

* Revert "See if this error is breaking e2e"

This reverts commit 3de6d71fc7.

* wait for address update
2018-05-23 12:56:35 +01:00
Gerhard Potgieter ad24b9c9d9
Merge pull request #20041 from woocommerce/fix/20039
Wrap cell in ' rather than prepend
2018-05-18 12:27:26 +01:00
Gerhard Potgieter b73cf49278 Update unit tests to conform to new escaping 2018-05-18 12:09:56 +01:00
Gerhard Potgieter 92be60f3e4
Merge pull request #20045 from liquidweb/fix/table-ordering
Sort the results of WC_Install::get_tables()
2018-05-18 11:14:21 +01:00
Rodrigo Primo 3057ed0bd6 Use WordPress version of phpunit-speed-trap
This commit adds WordPress version of phpunit-speed-trap (https://github.com/WordPress/wordpress-develop/blob/master/tests/phpunit/includes/speed-trap-listener.php). First I tried to add it using composer but for some unknown reason it worked on my local environment but not on Travis (https://travis-ci.org/woocommerce/woocommerce/jobs/377286389#L673). I don't think it is worth spending too much time on this so it seems to me that it is just easy to use WordPress version instead since it works.
2018-05-17 15:04:32 +01:00
Steve Grunwell 317e7ba29f Revert most of 74a3f1d6
As @claudiosanches pointed out, there isn't much real-world need for `WC_Install::get_tables()` to sort results. Instead, sort the returned value within the `WC_Tests_Install::test_get_tables()` method.
2018-05-11 22:46:46 +00:00
Steve Grunwell 226aedd4e2 Merge branch 'master' into fix/table-ordering 2018-05-11 17:11:02 +00:00
Steve Grunwell 74a3f1d6d8 Sort the results of WC_Install::get_tables()
Since custom tables can be registered within WooCommerce via the 'woocommerce_install_get_tables' filter, it's helpful to ensure that `WC_Install::get_tables()` automatically sorts the table names alphabetically.

This helps avoid false failures when testing a plugin that uses a custom table against the WooCommerce core test suite, as queries like `WC_Tests_Install::test_get_tables()` assumes that tables will be returned in alphabetical order.
2018-05-11 16:18:49 +00:00
Claudiu Lodromanean 6f2c807f1c
Merge pull request #19984 from woocommerce/fix/19640
Basic range download handling for Force download.
2018-05-09 09:08:15 -07:00
Peter Fabian 2b9a5a6330 Removed test to reflect changes in track download method. 2018-05-09 15:54:38 +02:00
Peter Fabian 7c30b1fac5 Fixed PHPCS problems in test file. 2018-05-09 12:45:17 +02:00
Peter Fabian 4da0f1f793 Added test for range download logging. 2018-05-09 12:04:38 +02:00
Claudiu Lodromanean bc59be04fa
Merge pull request #20009 from woocommerce/update/wc-orders-query-tests
Add test to check WC_Order_Query when using the 'customer' parameter
2018-05-08 13:57:54 -07:00
Rodrigo Primo 42e801db0c Add test to check WC_Order_Query when using the 'customer' parameter 2018-05-08 17:24:16 -03:00
Rodrigo Primo 3e8cd3f837 Remove unnecessary tests cleanup code
Tests don't need to manually remove data that they create. WP test framework does that automatically after each test is executed.
2018-05-08 16:00:00 -03:00
Rodrigo Primo 47f6104580 Add more unit tests to improve test coverage of functions in includes/wc-stock-functions.php 2018-05-08 15:58:03 -03:00
Rodrigo Primo 41f5985087 Fix PHPCS violations automatically using phpcbf 2018-05-08 15:48:55 -03:00
Rodrigo Primo b43f828a7b Fix PHPCS violations automatically using phpcbf 2018-05-08 11:55:32 -03:00
Rodrigo Primo 5d9dadca87 Remove unnecessary cleanup code from orders unit tests
It is not necessary to manually remove data added to the database after each test. WP unit tests framework does this automatically.
2018-05-08 11:52:58 -03:00
Claudiu Lodromanean bda8732c6f
Merge pull request #19974 from woocommerce/update/payment-method-columns
Updates table styling and columns
2018-05-07 11:23:49 -07:00
Mike Jolley cf9fa5b3ff Updates table styling and columns 2018-05-04 18:48:41 +01:00
Rodrigo Primo 7d5f6d3746 Remove WC API unit tests cleanup code
WC unit tests don't need to remove data from the database before finishing. `WP_UnitTestCase` creates a transaction before each test starts and roll it back after it ends, so data is never actually written to the database. This simplifies the tests and makes them faster.
2018-05-04 11:45:30 -03:00
Rodrigo Primo 7ce69dfca2 PHPCS fixes 2018-05-04 11:42:45 -03:00
Mike Jolley e807c6151f Merge branch 'master' into update/erasure-requests 2018-05-02 14:06:47 +01:00
claudiulodro 9c1179856d Update unit tests 2018-05-01 09:32:29 -07:00
Mike Jolley 7ae9919a19 Fix tests 2018-05-01 16:53:05 +01:00
Mike Jolley d40b704cba Remove deprecation test 2018-05-01 13:39:32 +01:00
Mike Jolley adf1c92666 Sets the option before running test so it passes :) Broken in #19871 2018-04-27 10:01:02 +01:00
Rodrigo Primo 214c9ae9c7 Use integer instead of string to set download ID
WC core supports both integers and strings as values to the download ID but this is necessary to make the core unit tests pass when running them in the context of the custom product tables plugins. This plugin accepts only integers for the download ID.
2018-04-26 16:47:38 -03:00
Rodrigo Primo 49804b3172 Merge branch 'feature/product-custom-tables-supporting-changes' of github.com:woocommerce/woocommerce into feature/product-custom-tables-supporting-changes 2018-04-26 16:46:10 -03:00
Rodrigo Primo c9a146aeba phpcs fixes 2018-04-26 14:46:17 -03:00
Peter Fabian 76d9cc7b19 Fix the US currency name and attribute check for creating variable product. 2018-04-25 10:00:10 +02:00
Rodrigo Primo 597033ca6f Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-04-24 13:47:22 -03:00
Rodrigo Primo 920006b8b9 Test setup methods should call parent setup method
This commits adds a call to `parent::setUp()` inside WC_Tests_Product_CSV_Importer::setUp(). This is necessary to make sure transactions are used on database calls and thus tests don't have to worry about cleaning inserted data.

I found this issue while debugging https://github.com/woocommerce/woocommerce-product-tables-feature-plugin/issues/81. Turns out this test was failing because WC_Tests_Product_CSV_Importer::test_import() was leaving one post in the database due to a bug in the custom product tables plugin.
2018-04-23 10:40:16 -03:00
Rodrigo Primo dcc309d16b Add call to parent::setUp() and remove cleanup code
parent::setUp() should be called inside test setup methods to make sure database changes are automatically reverted after each test is executed. This way it is not necessary to manually remove inserted data.
2018-04-23 10:34:15 -03:00
Rodrigo Primo 4a8f34f2ee Test setup methods should call parent setup method
This commits adds a call to `parent::setUp()` inside WC_Tests_Product_CSV_Importer::setUp(). This is necessary to make sure transactions are used on database calls and thus tests don't have to worry about cleaning inserted data.

I found this issue while debugging https://github.com/woocommerce/woocommerce-product-tables-feature-plugin/issues/81. Turns out this test was failing because WC_Tests_Product_CSV_Importer::test_import() was leaving one post in the database due to a bug in the custom product tables plugin.
2018-04-23 10:34:03 -03:00
Rodrigo Primo c7c82a2335 PHPCS fixes 2018-04-23 10:33:52 -03:00
Rodrigo Primo bf0da0287d Simple placeholders should not be quoted 2018-04-20 09:28:08 -03:00
Rodrigo Primo 9c33f133b6 Fix parameter order when calling PHPUnit_Framework_TestCase::assertEquals()
The first parameter passed to PHPUnit_Framework_TestCase::assertEquals() should be the expected value and the second parameter the actual value and not the other way around.
2018-04-19 17:25:38 -03:00
Mike Jolley d381330a91
Merge pull request #19705 from woocommerce/fix/19619
Handling of PHP's automatic array key conversion to int
2018-04-18 15:40:31 +01:00
Peter Fabian 4538f3fa8f Moved wc_selected to core functions. 2018-04-18 15:54:57 +02:00
Gerhard Potgieter f0f6169145 Fix the download log unit test, with the new constraint key introduced in #19330 the download log needs a valid download to save correctly. 2018-04-18 09:43:24 +02:00
claudiulodro f9e45bea91 Bring up-to-date with master and resolve merge conflicts 2018-04-17 13:27:39 -07:00
Claudio Sanches 933bcc32c3
Merge branch 'master' into fix/19620 2018-04-17 12:45:20 -03:00
Claudio Sanches f18220a009 Updated unit tests 2018-04-17 12:31:14 -03:00
Peter Fabian 49529e0912 Added wc_selected function.
- Added unit test for the wc_selected function.
2018-04-17 12:13:46 +02:00
Mike Jolley e951ff0a00 Fix test 2018-04-16 14:35:20 +01:00
Mike Jolley f3388d8cd6 tests 2018-04-13 18:25:51 +01:00
Mike Jolley 1b34cd4745 Moved settings tabs around to allow for privacy page. 2018-04-12 16:59:42 +01:00
Claudio Sanches 900c8fc33f
Merge pull request #19380 from woocommerce/update/19302
Override supports for PayPal to see if credentials exist
2018-04-06 15:44:42 -03:00
Claudio Sanches 53b000cb87 Remove product after unit test 2018-04-06 14:49:20 -03:00
Claudio Sanches a10689ce40 Added unit tests for wc_get_product_class() 2018-04-06 14:47:18 -03:00
Mike Jolley 4e42b2cd30 Handle manage_stock mixed content for variations 2018-04-03 17:46:43 +01:00
Mike Jolley 5ac7aac369 Improve can_refund_order and add unit tests 2018-04-03 17:09:09 +01:00
Mike Jolley 5bc26ebd79 Merge branch 'master' into update/17427 2018-04-03 14:38:49 +01:00
Mike Jolley 8721d62b67 update test 2018-04-03 14:37:31 +01:00
Rodrigo Primo 94751f2872 Use data store loader instead of hardcoding data store class name
This way plugins extending WC core data stores can still benefit from WC core tests
2018-04-02 15:50:44 -03:00
Rodrigo Primo d55c0d63b1 Add unit tests group 'core-only'
This group is used to identify unit tests that will work only when testing WC core. This is necessary since we are using WC core unit tests to test the custom product tables plugin and some tests should be skipped in this context.
2018-04-02 15:15:23 -03:00
Rodrigo Primo bb553c88ae Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-03-29 12:05:55 -03:00
Mike Jolley 51252915e1
Merge pull request #19493 from woocommerce/fix/19404
Removed line item limit and made sure the URL is shorter than 2083 ch…
2018-03-28 13:56:57 +01:00
Peter Fabian 3809ab3f4c Fixed shipping tax logic to behave the same as originally 2018-03-28 13:08:05 +02:00
Mike Jolley 5547c57c03
Merge pull request #19504 from woocommerce/fix/19485-backorder-import
Product import backorders default to no
2018-03-28 11:00:09 +01:00
Gerhard Potgieter 80ec10fc21 Fix unit test for import, the way the test is set up it expects a no for backorders and not an empty string 2018-03-28 08:28:13 +02:00
Peter Fabian 5eda49f98a Line item logic refactored
Renamed function get_non_line_item_args
Documentation updates
...all part of code review fixes
2018-03-27 15:55:03 +02:00
Peter Fabian f6d748a812 Fixed PHPCS violation 2018-03-26 13:31:29 +02:00
Peter Fabian 88588eccbc Code duplication removed
Added test for non line item agrument presence
Fixed incorrect comment
2018-03-26 13:05:55 +02:00
Peter Fabian 26144afbc6 Test request length after applying filter
- added default value to get_line_item_args to not break interface
- smaller code review updates
2018-03-23 17:22:09 +01:00
Peter Fabian fda6421dee Fixed compatibility with older PHP versions, removed superfluous asserts. 2018-03-22 20:42:19 +01:00
Peter Fabian 27a309d2df Removed line item limit and make sure the URL is shorter than 2083 characters
- removed limit to 9 line items per Paypal order
- if the request URL with all line items will be longer than 2083 characters, send it as one line item
- fix the character limit function to account for URL encoding happening in http_build_query
2018-03-22 15:39:30 +01:00
Claudio Sanches 21dc6d28cf
Merge branch 'master' into feature/18477 2018-03-21 14:31:58 -03:00
Mike Jolley 6539b7913e Merge branch 'master' 2018-03-19 18:05:36 +00:00
Claudiu Lodromanean e6a266e30f
Merge pull request #19412 from woocommerce/update/19408
Use wc_get_default_products_per_row as the default for product shortcodes
2018-03-19 09:23:44 -07:00
Mike Jolley d099aae4ec Fix test and default 2018-03-19 13:05:43 +00:00
Steve Grunwell 049876ac8f Add the "woocommerce_install_get_tables" filter to WC_Install::get_tables()
This commit adds a new filter, "woocommerce_install_get_tables", to the WC_Install::get_tables() method, enabling WooCommerce extensions to register new, WooCommerce-specific tables, ensuring these tables can be cleaned up automatically should WooCommerce be uninstalled (useful for things like custom table data stores). Nothing gets added by default, but this provides an integration point for plugins like WooCommerce Custom Orders Table.
2018-03-16 18:54:17 +00:00
Mike Jolley eb26221b1a Merge branch 'master' into update/19061 2018-03-16 13:59:05 +00:00
Claudio Sanches c4eac9f4e5 GeoLite integration Unit Tests 2018-03-15 17:06:13 -03:00
Mike Jolley 2abd510b36
Merge pull request #19391 from woocommerce/fix/rounding
100% coupon with inclusive taxes and out-of-base rounding issue fix
2018-03-15 12:43:58 +00:00
Mike Jolley 94bfd3b336 Update formatting and tests 2018-03-15 10:54:32 +00:00
Mike Jolley 27f07807a5 Clean up 2018-03-14 15:23:39 +00:00
Mike Jolley e0ab13bd3c Tests and test pass 2018-03-14 15:14:45 +00:00
Mike Jolley fec36ff4b2 Test runner 2018-03-14 14:29:03 +00:00
Mike Jolley e03bc3d447
Merge pull request #19381 from woocommerce/fix/phpcs-violations-includes
Fix PHPCS violations in a few includes/ files
2018-03-13 19:36:53 +00:00
claudiulodro 7e0ad645f3 Unit test for oob rounding issue 2018-03-13 11:41:25 -07:00
Rodrigo Primo 4229b3c5b2 Rename WC_Validation::is_GB_postcode() to WC_Validation::is_gb_postcode()
To follow WP coding standards
2018-03-13 08:49:40 -03:00
Mike Jolley 1b905b2975
Merge pull request #19331 from woocommerce/add/coupon-wildcard-email
Add wildcard email support for coupons.
2018-03-13 10:05:06 +00:00
Gerhard Potgieter 9a13b4d365 Add unit tests for is_coupon_emails_allowed 2018-03-13 08:03:00 +02:00
Mike Jolley 906aa97aea Merge branch 'master' into update/19061 2018-03-12 19:28:53 +00:00
Rodrigo Primo 5a5a2bc1fb Make unit tests work again with PHP 5.2
This commit fixes WC PHPUnit tests in PHP 5.2 that have been broken since commit e68084d7b8 (diff-b43983ff635e47e2ec510ae07726f0b4R30) was merged. The mentioned commit added a new method to WC_Unit_Test_Case that uses late static binding. The problem is that late static binding is available only since PHP 5.3 and WooCommerce still support PHP 5.2. Running WC tests with PHP 5.2 resulted in the following error:

Parse error: syntax error, unexpected T_STATIC, expecting T_STRING or T_VARIABLE or '$' in /home/travis/build/woocommerce/woocommerce/tests/framework/class-wc-unit-test-case.php on line 40 (see https://travis-ci.org/woocommerce/woocommerce/jobs/350303315#L281)

For now, I'm simply removing the method that used late static binding (WC_Unit_Test_Case::include_dependencies()) and manually loading the required dependencies in the two test classes that relied on it. I'm happy to add WC_Unit_Test_Case::include_dependencies() again if someone can find a way to make it compatible with PHP 5.2. If not, we can revisit this once WC drops support for PHP 5.2.
2018-03-12 16:19:47 -03:00
Mike Jolley e4afb25931
Merge pull request #19300 from woocommerce/fix/phpcs-includes-payment-tokens
PHPCS fixes for includes/payment-tokens directory
2018-03-08 15:03:39 +00:00
Mike Jolley 0c10c28cd3
Merge pull request #18175 from woocommerce/update/17252
Rollback if payment complete or update status fails
2018-03-08 13:12:34 +00:00
Rodrigo Primo 273ac18087 Rename class WC_Payment_Token_eCheck to WC_Payment_Token_ECheck
Doing this change to make the class name compatible with WP coding standards.
2018-03-07 14:50:21 -03:00
claudiulodro 8cf36aa0d2 New shortcode features for products block 2018-03-01 10:05:22 -08:00
Mike Jolley 21d7dbc612 Merge branch 'master' into update/17252 2018-03-01 15:58:17 +00:00
Mike Jolley f162fdb9d1 Merge branch 'master' into update/17795 2018-03-01 12:13:14 +00:00
Mike Jolley 3c81096605 Added test 2018-03-01 12:12:26 +00:00
Mike Jolley bec084ac16
Merge pull request #18493 from liquidweb/tests/api-system-status
Add tests for the "add_order_indexes" system status tool
2018-03-01 12:03:29 +00:00
Mike Jolley 8faedcb849
Merge pull request #18489 from liquidweb/tests/reports
Add tests around order reporting
2018-03-01 12:02:59 +00:00
Rodrigo Primo 3a480e5d80 Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-03-01 08:02:08 -03:00
Rodrigo Primo 0f79567d06 Merge branch 'master' into update/improve-get-downloads 2018-02-28 13:34:11 -03:00
Mike Jolley 133ed2d24b Tests 2018-02-28 13:33:24 +00:00
Claudiu Lodromanean 5346f63abc
Merge pull request #19159 from woocommerce/fix/19124
Use subtotal for discounts in admin/orders
2018-02-27 11:27:01 -08:00
Mike Jolley 6b722e1120 Update tests to use subtotal as a basis for the discounts. 2018-02-27 18:57:28 +00:00
Claudio Sanches e2e8a7bfd1 Fixed PHPUnit path 2018-02-27 14:24:40 -03:00
Claudio Sanches 1fcb5e8be3 Force PHPUnit 6 in Travis 2018-02-27 14:20:13 -03:00
Claudio Sanches 5a19861544 Run composer in all tests 2018-02-27 14:11:17 -03:00
Claudio Sanches 1239ab033f Use phpunit installed by composer while running tests on travis 2018-02-27 14:06:06 -03:00
Caleb Burks 4a4aa84e26 Add a test 2018-02-22 15:06:53 -05:00
Mike Jolley 7c61f05bb1
Merge pull request #18620 from woocommerce/fix/get-downloads-order-by
Fix: properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads()
2018-02-19 14:44:21 +00:00
Mike Jolley d5a1463e3e
Merge pull request #18595 from woocommerce/update/add-ext-object-cache-to-system-status
Display whether or not external object cache is enabled
2018-02-19 14:40:14 +00:00
Mike Jolley 5feed3e0cc Merge branch 'master' into update/add-ext-object-cache-to-system-status 2018-02-19 14:39:31 +00:00
Steve Grunwell 7878a9582f Merge branch 'master' into tests/api-system-status 2018-02-15 23:16:58 +00:00
Steve Grunwell 19a35d630a Merge branch 'master' into tests/reports 2018-02-15 23:12:10 +00:00
Gerhard Potgieter 780905cd0e Merge branch 'master' into feature/product-custom-tables-supporting-changes 2018-02-08 10:11:27 +02:00
Rodrigo Primo 5be9d1b118 Remove all WC tables when uninstalling the plugin
There were two outdated lists of WC tables. One used to drop tables when WC is uninstalled and another one to drop tables when a site is deleted in a multi site environment. This commit creates a new unified list of WC tables, adds the missing tables to this list and introduces a unit test that will fail if the list gets outdated.
2018-02-06 11:19:40 -02:00
Mike Jolley 8fb8039b23
Merge pull request #18818 from woocommerce/fix/prevent-unsupported-downgrade
Don't call WC_Install::install() on downgrades
2018-02-06 12:46:42 +00:00
Rodrigo Primo 13f703fd32 Don't call WC_Install::install() on downgrades
WC doesn't support downgrades but the if condition that decides whether or not to call WC_Install::install() and apply database schema changes was checking if the WC version stored in the database is equal to the WC version in the code. This commit changes the check performed inside the if condition to verify if the WC version stored in the database is smaller than the version in the code. This way `dbDelta()` won't be called automatically by WC and revert database schema changes. This is particulary important for clustered providers where the version of the WC code running in one of the containers could be outdated and trigger a database downgrade.
2018-02-05 14:40:51 -02:00
Rodrigo Primo 16a44964f1 Remove unused code from WC_Tests_Install::test_check_version()
To test the method WC_Install::check_version() it is not necessary to update the of the option 'woocoommerce_db_version' as this method uses only 'woocommerce_version'.
2018-02-05 14:40:43 -02:00
Rodrigo Primo 13351b3d75 phpcs fixes
Removed the print_r() call as phpcs was complaining about it and there is no need to output the version values as phpunit will do that if the test fails.
2018-02-05 14:40:36 -02:00
Claudio Sanches 0755038e8d
Merge pull request #18505 from liquidweb/feature/post-system-status-tool-hook
Add a hook after executing a REST system status tool
2018-02-02 14:19:03 -02:00
Mike Jolley db54911443
Merge pull request #18752 from woocommerce/refactor/background-processing
Introduced new WC_Background_Process abstract class
2018-02-01 16:18:56 +00:00
Claudio Sanches b811dbbaec Applied new WC_Background_Process class 2018-02-01 11:42:34 -02:00
Mike Jolley 2ed9691c14 Fix shop on homepage with unsupported themes 2018-02-01 11:15:46 +00:00
Mike Jolley c8b14b6f76 Increase precision from 4 to 6 2018-01-30 15:00:53 +00:00
Rodrigo Primo 2feacfb47a Display whether or not external object cache is enabled
This commit adds a new line to the section "WordPress environment" of the system status page to indicate whether or not WP external object cache is enabled.
2018-01-29 15:56:01 -02:00
Rodrigo Primo 75fc594013 Manually fix coding standard violations that can't be fixed with phpcbf 2018-01-29 15:55:43 -02:00
Rodrigo Primo a15ecc1601 Automatically fix coding standard violations using phpcbf 2018-01-29 15:53:54 -02:00
Rodrigo Primo 9c4c006baa Fix: set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads()
This commit fixes a bug in WC_Customer_Download_Data_Store::get_downloads() that made impossible to change the order in which the query returned the results. This method accepts the arguments `order_by` and `order` but it was ignoring them and always using the default values ('permission_id' and 'ASC' respectively).

One of the assertions of the WC_Customer_Download_Data_Store::get_downloads() test method was modified to make sure the code now works.

This bug was introduced by commit a443419.
2018-01-26 15:55:13 -02:00
Rodrigo Primo 07d00fc58e Make WC_Customer_Download() tests a bit faster
This commit simplifies WC_Customer_Download() tests by using hardcoded values for customer ID and e-mail instead of touching the database and creating a real customer for each test.
2018-01-26 15:44:23 -02:00
Steve Grunwell 16b59b60a0 Merge branch 'master' into feature/post-system-status-tool-hook 2018-01-24 01:45:44 +00:00
Rodrigo Primo 1195cf9eee Improve WC_Customer_Download_Data_Store::get_downloads() performance
This commit improves WC_Customer_Download_Data_Store::get_downloads() performance by changing the way the SQL query is built. Before this change, this method would get all table fields even when just the permission_id field is returned. Now the method will get from the database only the fields that will be returned. The fields retrieved from the database can be controlled using the parameter `$args['return']`:

- 'objects' (default): all fields are retrieved from the database and an array of WC_Customer_Download objects is returned.
- 'ids': gets and return only permision_ids
- comma separated list of fields (new option added by this commit): gets and return only the required fields. Examples: 'user_email,download_id,order_id' or 'order_id,download_count'.
2018-01-22 17:25:26 -02:00
Claudiu Lodromanean 1e2cdb67ad
Merge pull request #18535 from woocommerce/update/disable-all-payment-gateways-by-default
Disable all payment gateways by default
2018-01-22 11:04:21 -08:00
Rodrigo Primo 656356530a Use setUp() method in WC_Customer_Download() tests to remove code duplication 2018-01-22 14:43:28 -02:00
Rodrigo Primo 9eeb4cd0bd Add assertion to check WC_Customer_Download_Data_Store::get_downloads() when called with the 'return' param set to 'ids' 2018-01-22 11:01:00 -02:00
Rodrigo Primo 6bb79681b9 Fix PHPCS violations in class-wc-tests-customer-download.php 2018-01-22 10:59:09 -02:00
Steve Grunwell 183c1e9f9f Add 'public' visibility declarations to coupon test methods 2018-01-22 04:13:13 +00:00
Steve Grunwell 553aede081 Use strict comparison in test_wc_coupons_enabled() 2018-01-22 04:11:02 +00:00
Steve Grunwell 031469f643 Remove an unused variable in the test 2018-01-22 04:10:38 +00:00
Steve Grunwell 21771ebbd3 Ensure that WP_Coupon instances are instantiated with parentheses 2018-01-22 04:10:14 +00:00
Steve Grunwell 7cb8f46b0a *WHITESPACE ONLY* Equal sign and arrow alignment 2018-01-22 04:06:42 +00:00
Steve Grunwell 0766ed6ff7 Fix (or whitelist) coding standards violations in the test bootstrap file 2018-01-22 03:34:13 +00:00
Steve Grunwell bb5417c102 require_once is a language construct, not a function, and thus doesn't require parentheses. 2018-01-22 03:24:52 +00:00
Paul Dechov 0eebd2b72a Update payment gateway default enabled state in tests 2018-01-19 17:42:17 -05:00
Steve Grunwell 4d6a0ecb82 Merge branch 'master' into feature/post-system-status-tool-hook 2018-01-18 21:54:47 +00:00
Brent Sessions a01270f392 Rearranging some variables 2018-01-18 12:36:22 -08:00
Brent Sessions 45bf9d6805 Update install script to account for forked branch 2018-01-18 12:26:46 -08:00
Steve Grunwell 6aeba1d72a Instead of testing the output of the message, verify that the postmeta fields are being re-created. 2018-01-18 18:52:57 +00:00
Brent Sessions e372d55a3c Run e2e tests on Travis builds (#18374) 2018-01-18 16:42:19 -02:00
Steve Grunwell 90c1a310f1 For consistency with the other endpoints, rename the 'woocommerce_rest_system_status_tool_executed' hook to 'woocommerce_rest_insert_system_status_tool'.
Reference: https://github.com/woocommerce/woocommerce/pull/18505#pullrequestreview-89828432
2018-01-18 16:59:47 +00:00
Mike Jolley e905a009d0 CRUD tests 2018-01-18 15:07:05 +00:00
Mike Jolley 6fd40d7e37 Remove transaction tests 2018-01-18 14:48:43 +00:00
Mike Jolley 778ccf0606 Update unit test helpers to use CRUD methods 2018-01-18 10:48:26 +00:00
Steve Grunwell 86c449accf Add missing hard-stops and parentheses for new objects being instantiated, enabling tests/unit-tests/api/system-status.php to pass coding standard checks 2018-01-17 22:13:57 +00:00
Steve Grunwell fa42eb0edf Temporarily disable the WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar sniff at the end of the test_get_system_status_info_theme() method.
The wp_get_theme() function returns a WP_Theme object, which uses uppercase property names, which goes against typical WordPress conventions.

This uses the more modern (read: PHP_CodeSniffer 3.2.0+) syntax for temporarily disabling sniffs. For more details, please see https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-parts-of-a-file.
2018-01-17 22:11:32 +00:00
Steve Grunwell 6b79619983 Add a file-level docblock for the WC_Tests_REST_System_Status class 2018-01-17 22:10:55 +00:00
Steve Grunwell 1a0fd86de5 *WHITESPACE ONLY* Fix alignment of code to satisfy PHP_CodeSniffer 2018-01-17 21:50:26 +00:00
Steve Grunwell ff0e200ae5 Introduce the woocommerce_rest_system_status_tool_executed action, which fires after one of the WooCommerce REST system status tools is executed. 2018-01-17 21:48:23 +00:00
Steve Grunwell be05a55b9d Add missing documentation within the WC_Unit_Test_Case class that was causing CI to fail. 2018-01-15 17:38:13 +00:00
Steve Grunwell 6261ea6cbb Temporarily disable the WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar sniff at the end of the test_get_system_status_info_theme() method.
The wp_get_theme() function returns a WP_Theme object, which uses uppercase property names, which goes against typical WordPress conventions.

This uses the more modern (read: PHP_CodeSniffer 3.2.0+) syntax for temporarily disabling sniffs. For more details, please see https://github.com/squizlabs/PHP_CodeSniffer/wiki/Advanced-Usage#ignoring-parts-of-a-file.
2018-01-15 17:21:35 +00:00
Steve Grunwell 00268c0fa2 Add a file-level docblock for the WC_Tests_REST_System_Status class 2018-01-15 17:06:42 +00:00
Steve Grunwell 477245c693 The WordPress coding standards dictate that new object instantiation should always use parenthesis 2018-01-15 17:05:01 +00:00
Steve Grunwell b4f14b4958 Add missing hard-stops at the end of comments, and a missing method comment for test_execute_system_tool_add_order_indexes() 2018-01-15 17:04:27 +00:00
Steve Grunwell 1843a05ea6 *WHITESPACE ONLY* Fix alignment of code to satisfy PHP_CodeSniffer 2018-01-15 17:03:36 +00:00
Steve Grunwell 8484991f99 Add tests around the add_order_indexes system status tool.
This test ensures that indexes are created within postmeta for any orders that are missing billing_address_index and/or shipping_address_index values.
2018-01-15 16:56:44 +00:00
Steve Grunwell d4ca2d87e8 It's only a single scenario, but start writing tests around how WC_Report_Sales_By_Date generates reports 2018-01-12 23:39:55 +00:00
Steve Grunwell e68084d7b8 Add a method by which testcases can load necessary files via include_once.
There are a number of files that are only loaded when another function is called (for example, load a reporting class when displaying a widget). An autoloader would be the ideal way to handle this (both in production and for tests), but until PHP compatibility is sorted out this commit adds an easy fix:

Testcases can now populate the protected, static $includes property with filepaths relative to the project root; when the testcase boots up, these files will automatically be included.
2018-01-12 21:33:20 +00:00
Steve Grunwell d0efd7251e Introduce some basic tests around getting data out of WC_Admin_Report.
The real value of these tests will be ensuring that data is being sourced correctly in the specific implementations of this class.
2018-01-12 19:55:33 +00:00
Mike Jolley dbdc3af9e5 Tests 2018-01-12 14:20:39 +00:00
Mike Jolley 97673e2de8 Fix wc_notice_count logic and add test 2018-01-10 12:43:48 +00:00
claudiulodro 1e0dbbf544 Better whitespace 2018-01-04 10:31:28 -08:00
claudiulodro 431c9b5766 Unit tests for order error handling 2018-01-04 10:28:52 -08:00
Mike Jolley 73d0c1062c Allow transactions to be forced on 2018-01-03 16:13:08 +00:00
Mike Jolley 7f18e15ff6 Transactions break unit tests 2018-01-03 15:47:55 +00:00
Mike Jolley 13602cd987
Merge pull request #18236 from woocommerce/fix/rest-api-add-coupons-order
REST API: Adding + removing coupons via API doesn't recalculate totals correctly
2018-01-03 11:37:23 +00:00
Mike Jolley ea090f849d
Merge pull request #18148 from woocommerce/update/e2e
Update e2e testing
2018-01-03 11:17:50 +00:00
claudiulodro 09ef2195be Manual set order tests 2017-12-22 11:35:52 -08:00
Claudiu Lodromanean 20f698db2b
Merge pull request #18219 from woocommerce/fix/18197
Compare the date modified when loading session data.
2017-12-22 08:17:14 -08:00
Mike Jolley e9105bd37d Fix tests 2017-12-21 19:00:55 +00:00
claudiulodro 1c8dd6acbb Proposed fix for api coupon recalculating 2017-12-20 11:37:35 -08:00
Kelly Dwan 70455b79a3 Add failing tests to demonstrate problem adding & removing coupons 2017-12-19 16:46:26 -05:00
claudiulodro b7c659ca07 Fix php <=5.6 errors 2017-12-19 11:37:37 -08:00
claudiulodro cff662ac47 phpcs 2017-12-19 09:30:02 -08:00
claudiulodro 3461fd2a3a Array access tests 2017-12-19 09:22:17 -08:00
claudiulodro 2c884c0003 Progress on order item tests 2017-12-18 14:45:39 -08:00
Claudio Sanches e68c28589b
Merge pull request #18216 from woocommerce/update/phpcs-ruleset-file-name
Use default name for PHPCS configuration file
2017-12-18 12:56:25 -02:00
Claudiu Lodromanean df2aded066 WC_Query unit tests (#18180)
* Begin WC_Query tests

* Some tests

* WC_Query unit tests
2017-12-18 12:01:27 -02:00
Gerhard Potgieter 25c4a84491 Add more core-functions unit tests (#18190)
* Pass through additional args to wc_create_order in test

* Pass extra args to wc_create_order to improve coverage, test WP_Error check of wc_create_order

* wc_get_template_part test

* wc_enqueue_js test

* wc_get_log_file_name test

* wc_get_page_children test

* hash_equals test

* wc_rand_hash test

* wc_transaction_query test

* Fix script test and phpcs stuff

* Fix widget tests

* Move tests to correct file and fix phpcs
2017-12-18 11:58:40 -02:00
Rodrigo Primo bf052c14c7 Use default name for PHPCS configuration file
This commit renames PHPCS configutarion file to `phpcs.xml`. With the default name, it is not necessary to use the argument `--standard=phpcs.ruleset.xml` anymore when calling `phpcs`.
2017-12-18 11:49:44 -02:00
Gerhard Potgieter d512421fa1 Make the test work on any test platform 2017-12-15 14:51:47 +02:00
Gerhard Potgieter 58457dab3a Unit tests for wc_is_active_theme 2017-12-15 14:43:56 +02:00
Claudiu Lodromanean 650faf6450
Merge pull request #18169 from woocommerce/add/unit-tests
Widget unit tests
2017-12-14 13:19:21 -08:00
Mike Jolley 1555507756
Merge pull request #18123 from woocommerce/update/setup-wizard-omit-paypal-standard
Setup wizard: Omit PayPal Standard unless plugins cannot be installed
2017-12-14 16:42:03 +00:00
Gerhard Potgieter 549b4bfa1a Widget unit tests 2017-12-14 13:57:53 +02:00
Gerhard Potgieter 276bff133f Improve unit test coverage (#18136)
* Test for main WooCommerce class

* Check all class instances created from main class.

* Test all constants

* Test for deprecated hook handler classes as well

* Test template path constant

* Check static class instances

* get_cart_item_quantities test

* get_cart_item_quantities & get_cart_contents_weight tests

* check_cart_items test

* Check_cart_item_stock test

* Cart get_cross_sells test

* Cart get_tax_totals test

* WC_Customer_Download_Data_Store tests
2017-12-14 08:45:00 -02:00
Gerhard Potgieter 2f477887fb Merge branch 'master' of github.com:woocommerce/woocommerce into add/unit-tests 2017-12-14 10:56:01 +02:00
Gerhard Potgieter 89d0aa0a2f WC_Customer_Download_Data_Store tests 2017-12-14 10:12:56 +02:00
claudiulodro da5eb4abd4 Update e2e sql db 2017-12-13 12:58:18 -08:00
claudiulodro f6f8c93e26 Update e2e tests and library 2017-12-13 12:14:53 -08:00
Claudiu Lodromanean b0189363c2
Merge pull request #18137 from woocommerce/fix/failing-get-billing-email-test
Add exception message to fix failing test
2017-12-13 09:51:44 -08:00
Gerhard Potgieter b39ab218dd Cart get_tax_totals test 2017-12-13 16:42:09 +02:00
Paul Dechov 8f3de46637
Merge branch 'master' into update/setup-wizard-omit-paypal-standard 2017-12-13 09:41:25 -05:00
Paul Dechov f4c557a9be Add test verifying that the correct list of payment gateways is returned per country 2017-12-13 09:35:43 -05:00
Gerhard Potgieter deb2ad8f40 Cart get_cross_sells test 2017-12-13 16:33:17 +02:00
Gerhard Potgieter 2f239311f2 Check_cart_item_stock test 2017-12-13 16:30:47 +02:00
Rodrigo Primo 2329e4f526 Add exception message to fix failing test
This commit adds the exception message thrown when WC_Order::set_billing_email() is called with an invalid message to a test to fix it.

I couldn't find what change in WC codebase broke the test and I'm not sure why it is failing only when running using PHP 5.6:

https://travis-ci.org/woocommerce/woocommerce/jobs/315750242#L600
2017-12-13 12:28:48 -02:00
Gerhard Potgieter 2e7a47d9df check_cart_items test 2017-12-13 16:22:11 +02:00
Rodrigo Primo ddc2d926fc PHPCS: fix violations manually 2017-12-13 12:19:51 -02:00
Gerhard Potgieter 6560dd42ab get_cart_item_quantities & get_cart_contents_weight tests 2017-12-13 16:17:09 +02:00
Rodrigo Primo c4665bff46 Automatic PHPCS fixes using phpcbf 2017-12-13 12:11:47 -02:00
Gerhard Potgieter 4eb971e81d get_cart_item_quantities test 2017-12-13 16:10:25 +02:00
Mike Jolley a42ba4607e
Merge pull request #18060 from woocommerce/fix/17915
Background processing; multisite should process current blog queue only
2017-12-13 12:38:19 +00:00
Gerhard Potgieter ea54e0892c Check static class instances 2017-12-13 14:02:02 +02:00
Gerhard Potgieter 6060de3200 Test template path constant 2017-12-13 13:51:34 +02:00
Gerhard Potgieter c56a8436d0 Test for deprecated hook handler classes as well 2017-12-13 13:49:45 +02:00
Gerhard Potgieter 336e096b48 Test all constants 2017-12-13 13:47:49 +02:00
Gerhard Potgieter 748ca37838 Check all class instances created from main class. 2017-12-13 13:36:36 +02:00
Gerhard Potgieter c334556ba9 Test for main WooCommerce class 2017-12-13 13:31:01 +02:00
Gerhard Potgieter 338632a183 Use assertArrayHasKey instead 2017-12-13 13:19:34 +02:00
Gerhard Potgieter 9984940eb3 Use correct array format for test to be compatible with lower versions of PHP 2017-12-13 11:23:11 +02:00
Gerhard Potgieter 5a87736f02 Update wp-background-process unit tests to take into account new prefix 2017-12-13 11:19:18 +02:00
Mike Jolley 4be91ec900 fixed `role="alert"` tests 2017-12-12 18:29:24 +00:00
Claudio Sanches eaa440df5f
Merge pull request #18071 from woocommerce/update/18045
Attributes; remove 'text' display option
2017-12-08 14:36:36 -02:00
Mike Jolley 890ee4f1b9 This test cannot pass with refactor 2017-12-08 16:30:56 +00:00
Mike Jolley b4bfe6303f Keep public method around 2017-12-08 16:24:04 +00:00
Mike Jolley d5486be6c8 test 2017-12-08 11:35:26 +00:00
Gerhard Potgieter 9491db496c Fix issue where get_batch was referencing a non set variable for the column name. Add a couple of unit tests to test the background process class. 2017-12-08 10:31:05 +02:00
Gerhard Potgieter 75ecb887c3
Merge pull request #18017 from woocommerce/tweak/decouple-cart-template-methods
Decouple cart templating methods from WC_Cart class
2017-12-08 08:15:46 +02:00
Claudio Sanches 2f6f6112c2 Merge branch 'master' into feature/webhook-crud 2017-12-07 18:21:52 -02:00
Boro Sitnikovski d0f9aaa99a Merge branch 'master' into tweak/decouple-cart-template-methods 2017-12-07 20:16:08 +01:00
Claudiu Lodromanean 7c06e7d63d
Merge pull request #18008 from woocommerce/update/rounding-17970-17863
Rounding fixes/line item rounding
2017-12-07 08:34:15 -08:00
Claudiu Lodromanean 804c771296
Merge pull request #17683 from woocommerce/feature/unsupported-theme
Unsupported theme enhancements
2017-12-07 08:05:29 -08:00
ragulka a2b7725777 Tweak test 2017-12-07 11:53:35 +02:00
ragulka ea7192e156 Add test case for tax exclusive cart price rounding 2017-12-07 11:49:31 +02:00
Mike Jolley 8a58c1de40 Unit test for get_price_html calls in sequence
Closes #18037
2017-12-06 11:52:55 +00:00
Mike Jolley d49590d0a3 Fixes to 5.2 rounding function and additional tests 2017-12-05 12:10:23 +00:00
Boro Sitnikovski 145d47c580 Decouple cart templating methods from WC_Cart class 2017-12-05 13:00:21 +01:00
Mike Jolley b6f87e70d7 round total to cents 2017-12-04 22:42:39 +00:00
Mike Jolley 077ced6657 tearDown 2017-12-04 22:30:23 +00:00
claudiulodro d60456cc73 Resolve conflicts and bring up to date with master 2017-12-04 13:56:59 -08:00
Mike Jolley c29bb6add3 Split test so comparison works. 2017-12-04 20:38:42 +00:00
Claudio Sanches 0f4f8a3f16
Merge branch 'master' into feature/webhook-crud 2017-12-04 12:37:10 -02:00
Mike Jolley 0a9485c465 Merge branch 'master' into feature/11259
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	includes/admin/list-tables/class-wc-admin-list-table-products.php
#	includes/class-wc-install.php
#	includes/wc-update-functions.php
2017-12-04 14:14:03 +00:00
claudiulodro d98f6c96af Unit tests to reproduce problems 2017-12-01 11:38:09 -08:00
claudiulodro 832d17dcbd Update test 2017-12-01 08:39:02 -08:00
Claudio Sanches 270c0a200e Merge branch 'master' into feature/webhook-crud 2017-11-30 16:55:28 -02:00
Claudiu Lodromanean b05cd3f3a7
Merge pull request #17934 from woocommerce/fix/17925
Display product URL only if is not hidden in downloads list
2017-11-29 10:33:34 -08:00
Claudio Sanches d3a5a1bfd4 Fixed bugs caused after fixing coding standards 2017-11-29 10:32:35 -02:00
Claudio Sanches c6f8e95b97 Merge branch 'master' into feature/webhook-crud 2017-11-28 15:09:10 -02:00
Claudio Sanches 8ed6e7436f
Merge pull request #17909 from woocommerce/update/phpcs-violations
Fix some PHPCS violations
2017-11-27 18:42:24 -02:00
Rodrigo Primo 7b17b79460 Fix PHPCS violations in file tests/unit-tests/order/functions.php 2017-11-24 17:25:31 -02:00
Rodrigo Primo acb970dcf7 Add some basic test coverage for wc_order_search() 2017-11-24 17:04:14 -02:00
Rodrigo Primo 6f207d39f3 travis.sh cleanup
We don't call `composer install` for all PHP version anymore in this script, so it is not necessary to exit early if running PHP 5.2.
2017-11-24 10:36:42 -02:00
Rodrigo Primo 183078914b Travis: don't reinstall PHPUnit
This commit removes the command to install PHPUnit on every Travis build job. I'm doing this because I don't see a reason for WooCommerce to re-install PHPUnit since it is already installed by default on every build job. Travis automatically handles installing the right PHPUnit version for each PHP version that we use.

This change should save around 10 seconds from each build job (https://travis-ci.org/woocommerce/woocommerce/jobs/306623161#L515).
2017-11-24 10:23:30 -02:00
Mike Jolley ee08983e5e
Merge pull request #17890 from rodrigoprimo/update/remove-xdebug-from-php-5-3-build
Further improve the speed of the Travis build
2017-11-23 13:24:51 +00:00
Mike Jolley 85cd9647df
Merge pull request #17871 from ragulka/delete-refund-on-exception
Ensure refund is deleted when exception is thrown during wc_create_refund()
2017-11-23 13:06:40 +00:00
Rodrigo Primo 4fea2eb211 Disable Xdebug before calling composer 2017-11-23 09:13:09 -02:00
Rodrigo Primo 51867ac7c3 Remove Xdebug from PHP 5.3 Travis build job as well 2017-11-23 09:06:08 -02:00
claudiulodro a878b0cde5 Some phpcs 2017-11-22 14:03:26 -08:00
claudiulodro 5513dc4546 Update with master 2017-11-22 11:02:14 -08:00
Claudio Sanches bf42bfeb93 Fixed unit tests 2017-11-22 17:00:02 -02:00
ragulka 4f2e1ee8d4 Ensure refund is deleted when exception is thrown during wc_create_refund 2017-11-22 17:03:58 +01:00
Claudio Sanches 39e27196c4
Merge pull request #17853 from rodrigoprimo/fix/run-phpcs-only-once
Don't run PHPCS on the code coverage Travis job
2017-11-22 12:16:34 -02:00
Rodrigo Primo 47154cf29a Don't run PHPCS on the code coverage Travis job
PR #17680 added a new PHP 7.1 Travis build job to generate code coverage report. PHPCS was configured to run on all PHP 7.1 build jobs. So this means that after #17680 was merged, Travis started running PHPCS twice.

This commit fixes this issue by setting a new environment variable called `$RUN_PHPCS` and using this variable, instead of the PHP version, to decide when to run PHPCS.
2017-11-21 18:17:55 -02:00
Claudio Sanches f0b6e3fc33 Test removing fee_lines from order in REST API 2017-11-21 16:07:03 -02:00
Claudiu Lodromanean 887003cc02
Merge pull request #17812 from woocommerce/update/wc-e2e-page-objects
Update wc-e2e-page-objects package to version 0.5.0
2017-11-21 09:22:08 -08:00
claudiulodro a73436bdcd Merge remote-tracking branch 'origin/master' into HEAD 2017-11-20 14:43:12 -08:00
claudiulodro 03d51e5471 Tweak variable on backorder logic 2017-11-20 11:32:30 -08:00
claudiulodro b64b26d030 Variable products are on backorder if all children are backordered 2017-11-20 11:19:06 -08:00
Rodrigo Primo 9793bd6985 Update e2e tests to work with the latest version of selenium-webdriver
The new version of selenium-webdriver no longer supports passing a description to before() and after().
2017-11-20 10:42:28 -02:00
Rodrigo Primo b28280f9ab Typo 2017-11-20 10:36:49 -02:00
Claudio Sanches 13978e496b
Merge branch 'master' into feature/webhook-crud 2017-11-20 10:34:35 -02:00
Gerhard Potgieter 32c568209d Add unit test to cover download permissions when running wc_update_new_customer_past_orders 2017-11-20 10:12:59 +02:00
claudiulodro dddf0ee473 Variable product sync 2017-11-17 08:46:49 -08:00
Claudio Sanches 885d0aa415 Fixed WC_Tests_Formatting_Functions::test_wc_do_oembeds() 2017-11-16 17:59:50 -02:00
Mike Jolley facdc49fad Total should be a string 2017-11-16 19:47:34 +00:00
Claudio Sanches a32fae4191 Fixed WC_Tests_Product_Data::test_product_getters_and_setters tests 2017-11-16 17:23:42 -02:00
Claudio Sanches 4d55aaf4ef Fixed WC_Tests_Discounts::test_calculations 2017-11-16 17:08:45 -02:00
Claudio Sanches 876f67a5a9 Fixed non existing product on Products_API::test_get_products_without_permission 2017-11-16 16:59:21 -02:00
Claudio Sanches c140331dc3 [Unit Tests] Clean products after tested is complete 2017-11-16 16:56:30 -02:00
claudiulodro 0390cf3e26 Bring up-to-date with master 2017-11-16 10:06:07 -08:00
Claudio Sanches 01983e6b96 Query and save only IDs of products when fetching products by shortcode 2017-11-16 15:14:36 -02:00
Claudio Sanches 9fe0c7261e Merge branch 'master' into feature/webhook-crud 2017-11-16 12:20:22 -02:00
claudiulodro be6f9d68bc Automatic transitions for variables 2017-11-15 12:08:19 -08:00
claudiulodro 68e23911ba Automatically transition stock statuses 2017-11-15 10:48:39 -08:00
claudiulodro db117d6344 Backordered products should count as in stock 2017-11-14 14:54:11 -08:00
claudiulodro c312cc35b1 Add new onbackorder stock status 2017-11-14 13:40:03 -08:00
Claudiu Lodromanean cc5c182f9d
Merge pull request #17679 from woocommerce/update/12517-download-reporting
Download reporting
2017-11-14 12:23:01 -08:00
Mike Jolley c0bf381f22 Remove invalid test 2017-11-14 16:41:10 +00:00
Mike Jolley 79d918d33e Merge branch 'feature/unsupported-theme' into update/move-settings-to-customizer-17148
# Conflicts:
#	assets/css/admin-rtl.css
#	assets/css/admin.css
#	assets/css/woocommerce-rtl.css
#	assets/css/woocommerce.css
2017-11-14 16:02:02 +00:00
Rodrigo Primo d26310f9c8 Forgot to change the logic to update codecov to run on the non-blocking Travis job 2017-11-13 16:19:36 -02:00
Rodrigo Primo 2dcb04e2e2 Generate code coverage report on a separate non-blocking Travis job
Travis build is taking about 40 minutes to complete, and that is mostly because of the generation of the code coverage report.

To address that, this commit changes Travis configuration to run the command to generate code coverage report on a separate non-blocking Travis job. This way once the jobs that run the tests finishes, Travisi will mark the build as successful and will keep running code coverage on a separate job.
2017-11-13 15:57:11 -02:00
Mike Jolley eddd7fbfb4 Feedback 2017-11-13 15:58:22 +00:00
Mike Jolley 3e7968d37b Merge branch 'master' into pr/16418 2017-11-13 14:37:18 +00:00
Rodrigo Primo 89542a9fb8 Disable XDebug to speed up Travis builds
This commit removes Xdebug from PHP runtime on all build jobs except PHP 7.1 to speed up Travis builds. Xdebug is needed in the PHP 7.1 build job because this job is used to generate code coverage.
2017-11-10 20:05:23 -02:00
Mike Jolley 3bf47d7d97 Fixed tests 2017-11-10 17:45:01 +00:00
Jeremy Pry a4d1c829eb Add unit tests to compare cloned cart objects to original (#17560)
* Add unit tests to compare cloned cart objects to original

* Don't use reflection for fees test

* Skip test using ReflectionProperty::setAccessible() below PHP 5.3
2017-11-10 12:03:14 +00:00
Mike Jolley 78466a6665
Merge pull request #17599 from JPry/allow_clone_cart
Allow for cloning the WC_Cart object
2017-11-10 12:02:59 +00:00
Claudio Sanches b04c7bd71e
Merge pull request #17628 from woocommerce/fix/17624
Change how line items are saved in API
2017-11-09 17:36:39 -02:00
Mike Jolley 6e08ff0284
Merge pull request #17610 from woocommerce/update/17557
Theme support to declare image sizes
2017-11-09 16:04:22 +00:00
Claudio Sanches 9979e4b3e5
Merge pull request #17589 from woocommerce/fix/17585
get_total_ex_tax should exclude fee taxes
2017-11-08 19:05:23 -02:00
Jeremy Pry cf5bd606c6 Rename register_hooks() to init() 2017-11-08 10:17:52 -05:00
Mike Jolley 827d133cb2 Improve tests 2017-11-08 13:54:33 +00:00
Mike Jolley 0198aa22ac Fix up test 2017-11-08 12:32:08 +00:00
Mike Jolley f5c7164ae5 Added a test to confirm this issue is specific to the API 2017-11-08 12:16:22 +00:00
Mike Jolley 6f693d4d1a Upgrade routine 2017-11-07 19:16:44 +00:00
Mike Jolley cf448398cd Update API 2017-11-07 19:08:06 +00:00
MounirHamani 9e3d566038
Update unit test to add new Belarusian currency BYN 2017-11-07 20:04:46 +01:00
Mike Jolley db4e630600 Replace thumbnail names 2017-11-07 18:48:51 +00:00
MounirHamani fc220a51a9
Update unit test for old Belarusian currency BYR 2017-11-07 18:50:01 +01:00
Claudio Sanches 7043245cb5 Merge branch 'master' into feature/webhook-crud 2017-11-07 12:42:28 -02:00
Mike Jolley 6701917e5a Remove need for wc_get_core_supported_themes 2017-11-07 12:17:03 +00:00
Mike Jolley 2de438dbc5 constant 2017-11-06 21:30:00 +00:00
Mike Jolley d62721dbb5 ..and fix tests based on updated constant setting - taxes round down 2017-11-06 21:26:28 +00:00
Mike Jolley cb61e9dd3d WC_TAX_ROUNDING_MODE auto to support switching in tests 2017-11-06 21:25:02 +00:00
Mike Jolley 7048d0769c Restore tests 2017-11-06 21:18:12 +00:00
Mike Jolley 42fef1a51a Float handling logic for scientific notation 2017-11-06 20:04:03 +00:00
Mike Jolley 466b8c8163 More tests with more decimals 2017-11-06 20:04:03 +00:00
Mike Jolley fe72fdfbd2 Add test to show error happening 2017-11-06 20:04:03 +00:00
Jeremy Pry 86aaa66ec0 Ensure hooks are added during unit tests 2017-11-06 14:58:07 -05:00
claudiulodro 939c115ddb Out of base unit tests 2017-11-06 19:41:27 +00:00
claudiulodro 0e40f619af Out of base cart tests (need tweaking) 2017-11-06 19:41:27 +00:00
Joel Rowley ca2ca5a5ca Add unit test to demonstrate type conversion precision bug 2017-11-03 22:20:41 -04:00
Mike Jolley c17e76adc8
Merge pull request #17113 from woocommerce/add/travis-phpcs
Run PHPCS in Travis CI
2017-11-01 12:18:44 +00:00
claudiulodro 64a4a00198 Add e2e db 2017-10-31 13:50:39 -07:00
claudiulodro d72b29d4b7 Couple tweaks to make test run well on latest WC 2017-10-31 13:36:01 -07:00
claudiulodro 88eb283713 Update e2e tests 2017-10-31 11:14:19 -07:00
Claudio Sanches e1a4f6e159
Merge pull request #17470 from woocommerce/pr/16959
Added actions before calculations order totals and taxes and is_vat_excempt support
2017-10-31 12:21:08 -02:00
Mike Jolley 95cad5fae0 Added unit test 2017-10-31 13:51:06 +00:00
Mike Jolley beecba5468 Update tests against formats 2017-10-31 12:36:54 +00:00
Mike Jolley cb087a0755 fix tests and minify css 2017-10-31 12:26:59 +00:00
claudiulodro f06ecee1c5 Fix order methods and add tests 2017-10-27 13:37:00 -07:00
Mike Jolley f3d2b2f7f1 Merge pull request #17071 from woocommerce/add/formatting-unit-tests
Formatting functions tests
2017-10-27 15:14:14 +01:00
Claudio Sanches 2a4c16977c Merge pull request #17331 from woocommerce/fix/17275-alt
Adjust item limiting discount code to work with multiple coupons
2017-10-25 20:19:13 -02:00
claudiulodro e6a9a5f79b Fix date query meta unset checking 2017-10-24 13:07:21 -07:00
Mike Jolley 8ca76e84cd Add test for #17330 2017-10-24 17:53:51 +01:00
Rasmus Bengtsson 6d2d6c8211 Add unit tests to WC_Integrations class 2017-10-24 09:25:37 +02:00
Mike Jolley 18577b8e9b Fix tests 2017-10-22 09:12:38 -07:00
Mike Jolley 1881b590d5 Test cases 2017-10-21 20:18:56 -07:00
Mike Jolley 5252d93465 Merge pull request #17154 from woocommerce/add/test-variation-totals
Update totals test to include a variation with parent tax class.
2017-10-12 15:34:59 +01:00
Gerhard Potgieter 8045596ed7 Add get_tax_class tests for WC_Product_Variation. Will ensure #17147 never happens again. 2017-10-12 14:46:28 +02:00
Gerhard Potgieter 9eee5afc2c Be sure to add the new product for cleanup later 2017-10-12 13:33:56 +02:00
Gerhard Potgieter 91aa76a51b Update totals test to include a variation with parent tax class. 2017-10-12 13:30:08 +02:00
Claudio Sanches 368d958be4 Merge branch 'master' into feature/webhook-crud 2017-10-10 16:13:37 -03:00
Claudio Sanches c00fce3f94 Merge pull request #16490 from woocommerce/feature/16445
Webhooks CRUD and Data Store
2017-10-10 16:10:31 -03:00
Rodrigo Primo d862aaf29d Quote code in the tests README.md file
Use triple backticks to quote code in the tests README.md file. Without this change all the parameters of the script `tests/bin/install.sh` that are surrounded by `<>` are not displayed.
2017-10-10 15:07:24 -03:00
Claudio Sanches b775074900 Fixed includes/wc-webhook-functions.php and removed debug 2017-10-10 12:59:04 -03:00
Claudio Sanches 2bd240ab15 Debug 2017-10-10 11:27:52 -03:00
Claudio Sanches f479d916e5 Fixed syntax error on phpcs.sh 2017-10-10 09:34:47 -03:00
Claudio Sanches 01cafe62d8 Updated phpcs.sh 2017-10-09 22:16:25 -03:00
Claudio Sanches ab04636ef0 Adds PHPCS in Travis CI 2017-10-09 17:31:15 -03:00
Mike Jolley 6d7522d864 Merge pull request #17075 from woocommerce/fix/phpunit-excluded-files
Updated tests exclusion list
2017-10-09 19:46:34 +01:00
claudiulodro c604c0f824 Update chromedriver version and add singles tests 2017-10-06 13:10:50 -07:00
Claudio Sanches 9721a9aca0 Removed legacy tests 2017-10-06 10:39:20 -03:00
Mike Jolley 7d7907fc8e Delete installing transient. 2017-10-05 18:11:25 +01:00
Mike Jolley 7cb7e3c864 Test should compare objects, not arrays 2017-10-05 17:37:18 +01:00
Claudio Sanches cd554c1bdf Restored tests/bin/phpunit.sh 2017-10-05 13:14:56 -03:00
Claudio Sanches 18a47d79b1 Merge branch 'master' into add/formatting-unit-tests 2017-10-05 12:18:29 -03:00
Claudio Sanches c0197c639e Formatting functions unit tests 2017-10-05 11:20:52 -03:00
Claudio Sanches 0c423c6ef7 Account function Unit Tests 2017-10-04 16:43:41 -03:00
Mike Jolley d1211f4e63 Added a test to ensure meta data gets returned in the order API 2017-10-04 15:57:06 +01:00
claudiulodro a02bb98db9 Product tests and fee test refactor 2017-09-28 14:54:44 -07:00
claudiulodro 0a46405d80 Order Item Coupon tests 2017-09-28 13:45:02 -07:00
claudiulodro 694f7fdfd8 Order Item Fee tests 2017-09-28 13:37:01 -07:00
claudiulodro f9a92fdc71 Order_Item_Meta tests 2017-09-28 11:40:33 -07:00
Mike Jolley 1b8a955353 tweak travis script 2017-09-26 16:27:27 +01:00
Mike Jolley bf82c769e7 scrutinizer 2017-09-26 15:21:05 +01:00
Mike Jolley 49b3e7da78 Gen coverage only on latest stable 2017-09-26 14:38:50 +01:00
Mike Jolley 212449f391 Only generate coverage on 7.x 2017-09-26 14:09:27 +01:00
Mike Jolley be014346f1 Travis 2017-09-26 13:24:11 +01:00
adnanmultidots c72413d925 Removed unused variable 2017-09-22 15:27:21 +05:30
Mike Jolley 5151415eec Merge branch 'discounts-class-fixes-and-tests' 2017-09-20 18:44:18 +01:00
Mike Jolley 21dfde842a Revised coupon sort order to not rely on IDs which can differ between cart and tests
Also edited test to match
2017-09-20 18:41:48 +01:00
Mike Jolley 29107d24a9 Remove filters from tests and correct sums 2017-09-20 18:37:26 +01:00
claudiulodro 9d8e308a78 Make importer columns case-insensitive 2017-09-17 10:18:03 -07:00
Claudiu Lodromanean f9120672bd Merge pull request #16767 from hjoelr/bugfix-coupon-cache
Bugfix: coupon object cache not being cleared upon deletion
2017-09-17 09:45:45 -07:00
Joel Rowley b24eb0b46a Added more tests 2017-09-15 21:04:21 -04:00
Joel Rowley b8b67cf471 Made state cleanup more explicit in case there were filters that need run on cleanup. 2017-09-15 21:00:56 -04:00
Joel Rowley f2a06c1ef0 Made discount unit tests more robust using PHPunit's Data Provider and tearDown() 2017-09-15 21:00:56 -04:00
Mike Jolley f9719c79eb Merge pull request #16795 from hjoelr/bugfix/freeshipping-coupon
Bugfix: Resolve 'non-numeric value encountered' error in PHP 7.1 when freeshipping coupon used
2017-09-14 11:31:17 -07:00
Joel Rowley 458a6c87c7 Resolve 'non-numeric value encountered' error in PHP 7.1 when freeshipping coupon used 2017-09-12 21:33:43 -04:00
mitraval192 2ee59801c2 added secure link 2017-09-11 17:24:55 +05:30
Joel Rowley 521bde2fba Bugfix: coupon object cache not being cleared upon deletion 2017-09-09 22:47:25 -04:00
claudiulodro ccade24ce5 Only set some fields on new orders 2017-09-07 13:50:47 -07:00
Mike Jolley 891d29dede Calling init manually causes issues. 2017-09-07 11:50:12 +01:00
Claudio Sanches f6375b64d7 Removed old test 2017-09-06 20:25:41 -03:00
Claudio Sanches d0f9b1061e Unit tests 2017-09-05 16:52:20 -03:00
Mike Jolley 1e9e6c461f Unit test for #16653 2017-08-31 11:42:19 +01:00
Claudio Sanches 6dc58b4f6a Allow select visibility in product shortcodes
Ref #15979
2017-08-29 18:29:29 -03:00
Mike Jolley 7e76b87039 Merge pull request #16596 from woocommerce/fix/16594
Manual coupons support
2017-08-29 13:46:13 +01:00
Mike Jolley fe847630b2 Tests when tax is not enabled 2017-08-29 12:38:35 +01:00
Mike Jolley fb64e77f24 No tax tests 2017-08-29 12:32:02 +01:00
Mike Jolley dc9c14d574 Ex tax tests 2017-08-29 12:17:18 +01:00
Alister Scott 5b9c793864 Update tests/README with links to TravisCI, Scrutinizer and Code Climate 2017-08-29 16:27:02 +10:00
Claudio Sanches acad44e3c9 Auto map legacy attributes to the new ones 2017-08-28 17:45:56 -03:00
Claudiu Lodromanean c36a6811c5 Merge pull request #16600 from woocommerce/feature/15979
Introduces WC_Shortcode_Products class
2017-08-28 10:33:35 -07:00
Claudio Sanches a97eb40c2c Removed empty unit test 2017-08-25 20:29:35 -03:00
Claudio Sanches 32ea76f09f Render product_attribute shortcode results with WC_Shortcode_Products 2017-08-25 19:07:10 -03:00
Claudio Sanches ddeea547b1 Use WC_Shortcode_Products inside featured_products shortcode 2017-08-25 18:42:02 -03:00
Claudio Sanches 72df581c6f Use WC_Shortcode_Products inside top_rated_products shortcode 2017-08-25 15:55:34 -03:00
Mike Jolley 97390eaf6e Tests 2017-08-25 18:21:29 +01:00
Mike Jolley be4ae42a59 Tests 2017-08-25 16:15:32 +01:00
Claudio Sanches c0da59d75a Use WC_Shortcode_Products inside best_selling_products shortcode 2017-08-25 11:46:47 -03:00
Claudio Sanches 366686c34a Fixed unit tests for PHP 5.2 and 5.3 2017-08-25 11:01:25 -03:00
Claudio Sanches 3dabdda480 Apply WC_Shortcode_Products class into sale_products shortcode 2017-08-25 11:00:48 -03:00
Claudio Sanches 0cea847c63 Renamed $loop_name to $type 2017-08-24 22:22:42 -03:00
Claudio Sanches d7bea55aae Use WC_Shortcode_Products to render product shortcode results 2017-08-24 22:16:42 -03:00
Claudio Sanches 013da90f51 Included unit test for recent_products shortcode 2017-08-24 21:38:42 -03:00
Claudio Sanches 461066d2b1 Allow query products by category on products shortcode 2017-08-24 21:24:05 -03:00
Claudio Sanches 429aecd400 Allow set loop name 2017-08-24 20:20:14 -03:00
Claudio Sanches 57379938b5 WC_Shortcode_Products unit tests 2017-08-24 20:12:12 -03:00
Josh Smith 49c7449e8b Merge remote-tracking branch 'upstream/master' 2017-08-23 22:41:04 +00:00
Mike Jolley 4c2c051773 Merge pull request #16575 from woocommerce/fix/arraysubsettest
Harden + fix plugin updates tests
2017-08-23 11:02:06 +01:00
Mike Jolley 22813663d7 Merge pull request #16569 from woocommerce/update/fees-api-class
WC_Cart_fees and negative fee calculations
2017-08-23 10:59:19 +01:00
Josh Smith d2d4489c68 [#12517] Add messages for unit test assertions in tests with multiple assertions 2017-08-23 03:23:25 +00:00
Josh Smith 868a0e0e84 Merge remote-tracking branch 'upstream/master' 2017-08-23 02:33:01 +00:00
claudiulodro b8af7164db Harden + fix plugin updates tests 2017-08-22 15:03:54 -07:00
claudiulodro 577e8f0e2b Formatting 2017-08-22 14:08:26 -07:00
claudiulodro 1215da6355 WC_Cart_Fees tests 2017-08-22 14:06:33 -07:00
claudiulodro e83758fe38 Cart fee tests 2017-08-22 13:26:55 -07:00
Claudio Sanches 7ad0dd55f9 Allow import 'menu_order' 2017-08-22 17:22:39 -03:00
Claudio Sanches 0b3811bd11 Change Position key from 'position' to 'menu_order' 2017-08-22 16:46:09 -03:00
Claudio Sanches af23ad42d7 Included "position" (menu_order) to exported products 2017-08-22 16:33:19 -03:00
Mike Jolley aaf4c4b134 fix tests 2017-08-22 13:24:29 +01:00
Mike Jolley d68291b3ac Merge pull request #16086 from woocommerce/improvement/versions
Extensions version check.
2017-08-21 18:18:04 +01:00
Mike Jolley 1d38a92638 Fix test 2017-08-21 12:38:14 +01:00
Josh Smith 413444c616 Merge remote-tracking branch 'upstream/master' 2017-08-20 04:09:17 +00:00
Claudiu Lodromanean b0f190fa1d Merge pull request #16517 from woocommerce/integrate-cart-sessions-class
Integrate cart sessions, getters and setters
2017-08-18 08:41:57 -07:00
Mike Jolley 1c8ad67a9e Fix tests and tax merges 2017-08-18 15:05:01 +01:00
Mike Jolley b854c1775c Tests 2017-08-18 13:53:22 +01:00
Mike Jolley e99471c0cd Removed manual discounts code 2017-08-18 10:36:10 +01:00
Claudio Sanches b86e78b53e Webhook CRUD Unit tests 2017-08-17 18:36:53 -03:00
Claudio Sanches fad774267c Merge branch 'master' into feature/16445 2017-08-17 13:32:47 -03:00
Claudio Sanches e31da15959 Improve test_wc_load_webhooks() checking when returns false 2017-08-17 12:32:30 -03:00
Claudio Sanches 8c120da100 Test webhook functions 2017-08-17 12:29:34 -03:00
Claudio Sanches 0ac915d0e9 Removed legacy webhook unit tests 2017-08-17 12:07:15 -03:00