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
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
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
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
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
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
Andrej Mernik
d20d429e32
Add postcode validation for Slovenia ( #25174 )
...
Add postcode validation for Slovenia
2019-12-09 10:09:45 -03: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
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
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
James Collins
7187db66e1
Add unit test
2019-12-04 12:29:40 +08: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
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
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
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
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
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
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
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
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
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
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
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
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
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
16041d9247
Fixed failing tests
2019-07-18 22:42:31 -03:00
Gerhard Potgieter
52f1eb4060
Revert "Prevent negative prices on products"
2019-07-15 08:50: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
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