test_get_applied_coupons

This commit is contained in:
Mike Jolley 2017-07-19 16:17:58 +01:00
parent 24fcf52c59
commit f77fc21785
2 changed files with 36 additions and 2 deletions

View File

@ -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 ) {

View File

@ -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).
*/