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
This commit is contained in:
parent
e8710e4ad6
commit
548b00c660
|
@ -17,7 +17,8 @@ defined( 'ABSPATH' ) || exit;
|
|||
*/
|
||||
function wc_get_coupon_types() {
|
||||
return (array) apply_filters(
|
||||
'woocommerce_coupon_discount_types', array(
|
||||
'woocommerce_coupon_discount_types',
|
||||
array(
|
||||
'percent' => __( 'Percentage discount', 'woocommerce' ),
|
||||
'fixed_cart' => __( 'Fixed cart discount', 'woocommerce' ),
|
||||
'fixed_product' => __( 'Fixed product discount', 'woocommerce' ),
|
||||
|
@ -77,7 +78,7 @@ function wc_coupons_enabled() {
|
|||
*/
|
||||
function wc_get_coupon_code_by_id( $id ) {
|
||||
$data_store = WC_Data_Store::load( 'coupon' );
|
||||
return (string) $data_store->get_code_by_id( $id );
|
||||
return empty( $id ) ? '' : (string) $data_store->get_code_by_id( $id );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -89,6 +90,11 @@ function wc_get_coupon_code_by_id( $id ) {
|
|||
* @return int
|
||||
*/
|
||||
function wc_get_coupon_id_by_code( $code, $exclude = 0 ) {
|
||||
|
||||
if ( empty( $code ) ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$data_store = WC_Data_Store::load( 'coupon' );
|
||||
$ids = wp_cache_get( WC_Cache_Helper::get_cache_prefix( 'coupons' ) . 'coupon_id_from_code_' . $code, 'coupons' );
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Class Functions.
|
||||
* @package WooCommerce\Tests\Coupon
|
||||
|
@ -76,6 +75,9 @@ class WC_Tests_Functions extends WC_Unit_Test_Case {
|
|||
// Delete coupon.
|
||||
WC_Helper_Coupon::delete_coupon( $coupon->get_id() );
|
||||
|
||||
$this->assertEquals( 0, wc_get_coupon_id_by_code( '' ) );
|
||||
|
||||
$this->assertEmpty( wc_get_coupon_id_by_code( 0 ) );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue