package net.billforward.model; import java.util.Currency; import net.billforward.exception.APIConnectionException; import net.billforward.exception.APIException; import net.billforward.exception.AuthenticationException; import net.billforward.exception.CardException; import net.billforward.exception.InvalidRequestException; import org.junit.Test; public class CouponTests extends TestBase { //@Test public void testCreation() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon coupon = new Coupon();//"Premium", "Monthly"); coupon.setName("6 Months free"); coupon.setCouponCode("WINTERFUN1"); coupon.setCoupons(10); coupon.setUses(6); coupon.setCurrency(Currency.getInstance("USD")); //coupon.addPercentageDiscount("Users", 50); Coupon newCoupon = Coupon.create(coupon); System.out.println(newCoupon); } //@Test public void testCreationComplex() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon coupon = new Coupon("Corporate", "EXAMPLE-CUSTOM"); coupon.setName("1 year discount"); coupon.setCouponCode("EXAMPLE-COMPLEX"); coupon.setCoupons(1); coupon.setUses(12); coupon.addPercentageDiscount("Users", 50); coupon.addUnitsFree("Licenses", 5); coupon.addUnitsFree("Monthly Total API Requests", 1000); coupon.addCashDiscount(10); coupon.addPercentageDiscount(8); Coupon newCoupon = Coupon.create(coupon); System.out.println(newCoupon); } //@Test public void getAll() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon[] coupons = Coupon.getAll(); for(Coupon code : coupons) { System.out.println(code); } } @Test public void testUniqueFetch() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon[] codes = Coupon.getCouponCodes("WINTERFUN1"); for(Coupon code : codes) { System.out.println(code); } } //@Test public void createCouponCodes() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon[] codes = Coupon.createCouponCodes("WINTERFUN1", 1); for(Coupon code : codes) { System.out.println(code); } } //@Test public void getCoupon() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon coupon = Coupon.getByCode("WINTERFUN"); System.out.println(coupon); } //@Test public void getCouponCode() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Coupon coupon = Coupon.getByCode("WINTERFUN13100291C"); System.out.println(coupon); } //@Test public void addCouponCodeToSubscription() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { String couponCode = "ian6"; Subscription subscription = Subscription.getByID("B51BF769-24BE-432B-B592-66E257ABEBF2"); Coupon coupon = subscription.addCouponCode(couponCode); System.out.println(coupon); } //@Test public void getCouponCodes() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Subscription subscription = Subscription.getByID("B51BF769-24BE-432B-B592-66E257ABEBF2"); Coupon[] coupons = subscription.getCouponCodes(); for(Coupon coupon : coupons) { System.out.println(coupon); } } //@Test public void removeCouponCode() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Subscription subscription = Subscription.getByID("SUB-CE7A2F73-4ADA-4047-BFA6-C30FBFB6"); Coupon[] codes = subscription.getCouponCodes(); Coupon coupon = null; for(Coupon code : codes) { coupon = subscription.removeCouponCode(code.getCouponCode()); System.out.println(coupon); } } //@Test public void addCoupon() throws AuthenticationException, InvalidRequestException, APIConnectionException, CardException, APIException { Subscription subscription = Subscription.getByID("SUB-CE7A2F73-4ADA-4047-BFA6-C30FBFB6"); Coupon coupon = subscription.addCouponCode("WINTERFUN1"); System.out.println(coupon); } }