test_get_applied_coupons
This commit is contained in:
parent
24fcf52c59
commit
f77fc21785
|
@ -120,8 +120,9 @@ class WC_Discounts {
|
|||
* @param array $raw_items List of raw cart or order items.
|
||||
*/
|
||||
public function set_items( $raw_items ) {
|
||||
$this->items = array();
|
||||
$this->discounts = array();
|
||||
$this->items = array();
|
||||
$this->discounts = array();
|
||||
$this->applied_coupons = array();
|
||||
|
||||
if ( ! empty( $raw_items ) && is_array( $raw_items ) ) {
|
||||
foreach ( $raw_items as $raw_item ) {
|
||||
|
|
|
@ -48,6 +48,39 @@ class WC_Tests_Discounts extends WC_Unit_Test_Case {
|
|||
$order->delete( true );
|
||||
}
|
||||
|
||||
/**
|
||||
* test get_applied_coupons
|
||||
*/
|
||||
public function test_get_applied_coupons() {
|
||||
$discounts = new WC_Discounts();
|
||||
$product = WC_Helper_Product::create_simple_product();
|
||||
WC()->cart->add_to_cart( $product->get_id(), 1 );
|
||||
$discounts->set_items( WC()->cart->get_cart() );
|
||||
|
||||
$coupon = new WC_Coupon;
|
||||
$coupon->set_code( 'test' );
|
||||
$coupon->set_amount( 50 );
|
||||
$coupon->set_discount_type( 'percent' );
|
||||
$discounts->apply_coupon( $coupon );
|
||||
|
||||
$this->assertEquals( array( 'test' => 5 ), $discounts->get_applied_coupons() );
|
||||
|
||||
$coupon2 = new WC_Coupon;
|
||||
$coupon2->set_code( 'test2' );
|
||||
$coupon2->set_amount( 50 );
|
||||
$coupon2->set_discount_type( 'percent' );
|
||||
$discounts->apply_coupon( $coupon2 );
|
||||
|
||||
$this->assertEquals( array( 'test' => 5, 'test2' => 2.50 ), $discounts->get_applied_coupons() );
|
||||
|
||||
$discounts->apply_coupon( $coupon );
|
||||
$this->assertEquals( array( 'test' => 6.25, 'test2' => 2.50 ), $discounts->get_applied_coupons() );
|
||||
|
||||
// Cleanup.
|
||||
WC()->cart->empty_cart();
|
||||
$product->delete( true );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test applying a coupon (make sure it changes prices).
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue