@@ -100,7 +100,8 @@ public function test_get_discount_amount_for_cart_item_sign_up_fee_coupons() {
100
100
'data ' => $ this ->variable_subscription_product ,
101
101
'quantity ' => 1 ,
102
102
'subscription_switch ' => [
103
- 'subscription_id ' => 123 ,
103
+ 'subscription_id ' => 123 ,
104
+ 'upgraded_or_downgraded ' => 'upgraded ' ,
104
105
],
105
106
);
106
107
$ this ->cart ->empty_cart ();
@@ -174,6 +175,22 @@ public function test_get_discount_amount_for_cart_item_sign_up_fee_coupons() {
174
175
$ coupon_sign_up_fee_large
175
176
)
176
177
);
178
+
179
+ // Subscription switch -- downgrade
180
+ $ cart_item ['data ' ]->update_meta_data ( '_subscription_sign_up_fee ' , 10 );
181
+ $ cart_item ['data ' ]->update_meta_data ( '_subscription_sign_up_fee_prorated ' , 0 );
182
+ $ cart_item ['data ' ]->update_meta_data ( '_subscription_price_prorated ' , 0 );
183
+ $ cart_item ['subscription_switch ' ]['upgraded_or_downgraded ' ] = 'downgraded ' ;
184
+ $ this ->assertEquals (
185
+ 1 ,
186
+ WC_Subscriptions_Coupon::get_discount_amount_for_cart_item (
187
+ $ cart_item ,
188
+ $ discount ,
189
+ $ discounting_amount ,
190
+ $ single ,
191
+ $ coupon_sign_up_fee_percent
192
+ )
193
+ );
177
194
}
178
195
179
196
@@ -248,7 +265,8 @@ public function test_get_discount_amount_for_cart_item_recurring_fee_coupons() {
248
265
'data ' => $ this ->variable_subscription_product ,
249
266
'quantity ' => 1 ,
250
267
'subscription_switch ' => [
251
- 'subscription_id ' => 123 ,
268
+ 'subscription_id ' => 123 ,
269
+ 'upgraded_or_downgraded ' => 'upgraded ' ,
252
270
],
253
271
);
254
272
$ this ->cart ->empty_cart ();
0 commit comments