public Coupon getCoupon() { if (coupon != null && coupon.getCouponCode() == null) { coupon = fetch(coupon, Coupon.class); } return coupon; }
public void setAppliesToAllPlans(final Object appliesToAllPlans) { this.appliesToAllPlans = booleanOrNull(appliesToAllPlans); }
public void setCreatedAt(final Object createdAt) { this.createdAt = dateTimeOrNull(createdAt); }
assertEquals(coupon.getHref(), "https://api.recurly.com/v2/coupons/f8028"); assertEquals(coupon.getCouponCode(), "f8028"); assertEquals(coupon.getName(), "t"); assertEquals(coupon.getState(), "redeemable"); assertEquals(coupon.getDescription(), "test description."); assertEquals(coupon.getDiscountType(), DiscountType.percent); assertEquals(coupon.getDiscountPercent(), new Integer(100)); assertEquals(coupon.getRedeemByDate(), new DateTime("2017-12-31T00:00:00Z")); assertEquals(coupon.getSingleUse(), Boolean.TRUE); assertNull(coupon.getAppliesForMonths()); assertEquals(coupon.getMaxRedemptions().intValue(), 200); assertEquals(coupon.getAppliesToAllPlans(), Boolean.FALSE); assertEquals(coupon.getCreatedAt(), new DateTime("2016-07-11T18:50:17Z")); assertEquals(coupon.getUpdatedAt(), new DateTime("2016-07-11T18:50:17Z")); assertEquals(coupon.getDuration(), Duration.single_use); assertNull(coupon.getTemporalUnit()); assertNull(coupon.getTemporalAmount()); assertEquals(coupon.getAppliesToNonPlanCharges(), Boolean.FALSE); assertEquals(coupon.getRedemptionResource(), RedemptionResource.account); assertEquals(coupon.getMaxRedemptionsPerAccount().intValue(), 1); assertEquals(coupon.getType(), Type.single_code); assertEquals(coupon.getId(), new Long(1234567890));
@Test(groups = "integration") public void testBulkCoupons() throws Exception { final Coupon couponData = TestUtils.createRandomCoupon(); couponData.setType(Coupon.Type.bulk); couponData.setUniqueCodeTemplate(String.format("'%s'99999", couponData.getCouponCode())); Coupon coupon = recurlyClient.createCoupon(couponData); Coupon genCouponData = new Coupon(); genCouponData.setNumberOfUniqueCodes(50); recurlyClient.generateUniqueCodes(coupon.getCouponCode(), genCouponData); QueryParams qp = new QueryParams(); qp.setPerPage(50); Coupons coupons = recurlyClient.getUniqueCouponCodes(couponData.getCouponCode(), qp); Assert.assertEquals(coupons.size(), 50); }
final Coupon couponData = TestUtils.createRandomCoupon(); couponData.setName("apitrialext"); couponData.setFreeTrialAmount(3); couponData.setFreeTrialUnit("month"); couponData.setDiscountType("free_trial"); subscriptionData.setCouponCode(coupon.getCouponCode()); recurlyClient.closeAccount(accountData.getAccountCode()); recurlyClient.deletePlan(planData.getPlanCode()); recurlyClient.deleteCoupon(couponData.getCouponCode());
/** * Creates a random {@link Coupon} object for use in Tests * * @param seed The RNG seed * @return The random {@link Coupon} object */ public static Coupon createRandomCoupon(int seed) { final Coupon coupon = new Coupon(); coupon.setName(randomAlphaNumericString(10, seed)); coupon.setCouponCode(randomAlphaNumericString(10, seed).toLowerCase()); coupon.setDiscountType("percent"); coupon.setDiscountPercent(randomInteger(90, seed) + 1); return coupon; }
@Test(groups = "integration") public void testCreateCoupon() throws Exception { final Coupon couponData = TestUtils.createRandomCoupon(); try { // Create the coupon Coupon coupon = recurlyClient.createCoupon(couponData); Assert.assertNotNull(coupon); Assert.assertEquals(coupon.getName(), couponData.getName()); Assert.assertEquals(coupon.getCouponCode(), couponData.getCouponCode()); Assert.assertEquals(coupon.getDiscountType(), couponData.getDiscountType()); Assert.assertEquals(coupon.getDiscountPercent(), couponData.getDiscountPercent()); // Get the coupon coupon = recurlyClient.getCoupon(couponData.getCouponCode()); Assert.assertNotNull(coupon); Assert.assertEquals(coupon.getName(), couponData.getName()); Assert.assertEquals(coupon.getCouponCode(), couponData.getCouponCode()); Assert.assertEquals(coupon.getDiscountType(), couponData.getDiscountType()); Assert.assertEquals(coupon.getDiscountPercent(), couponData.getDiscountPercent()); // Also test getting all coupons Coupons coupons = recurlyClient.getCoupons(); Assert.assertNotNull(coupons); } finally { recurlyClient.deleteCoupon(couponData.getCouponCode()); } }
couponDataForPlan.setAppliesToAllPlans(false); final PlanCodes planCodes = new PlanCodes(); planCodes.add(new PlanCode(plan.getPlanCode())); couponDataForPlan.setPlanCodes(planCodes); Coupon couponForPlan = recurlyClient.createCoupon(couponDataForPlan); subscriptionData.setRemainingBillingCycles(2); subscriptionData.setCouponCode(couponData.getCouponCode()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), couponData.getCouponCode());
final Coupon secondCouponData = TestUtils.createRandomCoupon(); final Coupon subscriptionLevelCouponData = TestUtils.createRandomCoupon(); subscriptionLevelCouponData.setRedemptionResource(RedemptionResource.subscription); redemptionData.setAccountCode(account.getAccountCode()); redemptionData.setCurrency(CURRENCY); Redemption redemption = recurlyClient.redeemCoupon(coupon.getCouponCode(), redemptionData); Assert.assertNotNull(redemption); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode()); Assert.assertEquals(redemption.getAccount().getAccountCode(), account.getAccountCode()); Assert.assertFalse(redemption.getSingleUse()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode()); Assert.assertEquals(redemption.getAccount().getAccountCode(), account.getAccountCode()); secondRedemptionData.setAccountCode(account.getAccountCode()); secondRedemptionData.setCurrency(CURRENCY); Redemption secondRedemption = recurlyClient.redeemCoupon(secondCoupon.getCouponCode(), secondRedemptionData); Assert.assertNotNull(secondRedemption); Assert.assertEquals(secondRedemption.getCoupon().getCouponCode(), secondCoupon.getCouponCode()); Assert.assertEquals(secondRedemption.getAccount().getAccountCode(), account.getAccountCode()); Assert.assertFalse(secondRedemption.getSingleUse()); redemptionData2.setAccountCode(account.getAccountCode()); redemptionData2.setCurrency(CURRENCY); redemption = recurlyClient.redeemCoupon(coupon.getCouponCode(), redemptionData2); Assert.assertNotNull(redemption); redemption = recurlyClient.getCouponRedemptionByAccount(account.getAccountCode()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode());
/** * Sets the discount type for a {@link Coupon} * * @param discountType */ public void setDiscountType(final Object discountType) { this.discountType = enumOrNull(DiscountType.class, discountType); }
return false; if (coupon != null ? !coupon.equals(that.coupon) : that.coupon != null) { return false;
assertEquals(coupon.getHref(), "https://api.recurly.com/v2/coupons/f8028"); assertEquals(coupon.getCouponCode(), "f8028"); assertEquals(coupon.getName(), "t"); assertEquals(coupon.getState(), "redeemable"); assertEquals(coupon.getDescription(), "test description."); assertEquals(coupon.getDiscountType(), DiscountType.percent); assertEquals(coupon.getDiscountPercent(), new Integer(100)); assertEquals(coupon.getRedeemByDate(), new DateTime("2017-12-31T00:00:00Z")); assertEquals(coupon.getSingleUse(), Boolean.FALSE); assertNull(coupon.getAppliesForMonths()); assertEquals(coupon.getMaxRedemptions().intValue(), 200); assertEquals(coupon.getAppliesToAllPlans(), Boolean.FALSE); assertEquals(coupon.getCreatedAt(), new DateTime("2016-07-11T18:50:17Z")); assertEquals(coupon.getUpdatedAt(), new DateTime("2016-07-11T18:50:17Z")); assertEquals(coupon.getDuration(), Duration.temporal); assertEquals(coupon.getTemporalUnit(), TemporalUnit.day); assertEquals(coupon.getTemporalAmount().intValue(), 45); assertEquals(coupon.getAppliesToNonPlanCharges(), Boolean.FALSE); assertEquals(coupon.getRedemptionResource(), RedemptionResource.account); assertEquals(coupon.getMaxRedemptionsPerAccount().intValue(), 1); assertEquals(coupon.getType(), Type.single_code);
@Test(groups = "integration") public void testBulkCoupons() throws Exception { final Coupon couponData = TestUtils.createRandomCoupon(); couponData.setType(Coupon.Type.bulk); couponData.setUniqueCodeTemplate(String.format("'%s'99999", couponData.getCouponCode())); Coupon coupon = recurlyClient.createCoupon(couponData); Coupon genCouponData = new Coupon(); genCouponData.setNumberOfUniqueCodes(50); recurlyClient.generateUniqueCodes(coupon.getCouponCode(), genCouponData); QueryParams qp = new QueryParams(); qp.setPerPage(50); Coupons coupons = recurlyClient.getUniqueCouponCodes(couponData.getCouponCode(), qp); Assert.assertEquals(coupons.size(), 50); }
final Coupon couponData = TestUtils.createRandomCoupon(); couponData.setName("apitrialext"); couponData.setFreeTrialAmount(3); couponData.setFreeTrialUnit("month"); couponData.setDiscountType("free_trial"); subscriptionData.setCouponCode(coupon.getCouponCode()); recurlyClient.closeAccount(accountData.getAccountCode()); recurlyClient.deletePlan(planData.getPlanCode()); recurlyClient.deleteCoupon(couponData.getCouponCode());
/** * Creates a random {@link Coupon} object for use in Tests * * @param seed The RNG seed * @return The random {@link Coupon} object */ public static Coupon createRandomCoupon(int seed) { final Coupon coupon = new Coupon(); coupon.setName(randomAlphaNumericString(10, seed)); coupon.setCouponCode(randomAlphaNumericString(10, seed).toLowerCase()); coupon.setDiscountType("percent"); coupon.setDiscountPercent(randomInteger(90, seed) + 1); return coupon; }
@Test(groups = "integration") public void testCreateCoupon() throws Exception { final Coupon couponData = TestUtils.createRandomCoupon(); try { // Create the coupon Coupon coupon = recurlyClient.createCoupon(couponData); Assert.assertNotNull(coupon); Assert.assertEquals(coupon.getName(), couponData.getName()); Assert.assertEquals(coupon.getCouponCode(), couponData.getCouponCode()); Assert.assertEquals(coupon.getDiscountType(), couponData.getDiscountType()); Assert.assertEquals(coupon.getDiscountPercent(), couponData.getDiscountPercent()); // Get the coupon coupon = recurlyClient.getCoupon(couponData.getCouponCode()); Assert.assertNotNull(coupon); Assert.assertEquals(coupon.getName(), couponData.getName()); Assert.assertEquals(coupon.getCouponCode(), couponData.getCouponCode()); Assert.assertEquals(coupon.getDiscountType(), couponData.getDiscountType()); Assert.assertEquals(coupon.getDiscountPercent(), couponData.getDiscountPercent()); // Also test getting all coupons Coupons coupons = recurlyClient.getCoupons(); Assert.assertNotNull(coupons); } finally { recurlyClient.deleteCoupon(couponData.getCouponCode()); } }
couponDataForPlan.setAppliesToAllPlans(false); final PlanCodes planCodes = new PlanCodes(); planCodes.add(new PlanCode(plan.getPlanCode())); couponDataForPlan.setPlanCodes(planCodes); Coupon couponForPlan = recurlyClient.createCoupon(couponDataForPlan); subscriptionData.setRemainingBillingCycles(2); subscriptionData.setCouponCode(couponData.getCouponCode()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), couponData.getCouponCode());
final Coupon secondCouponData = TestUtils.createRandomCoupon(); final Coupon subscriptionLevelCouponData = TestUtils.createRandomCoupon(); subscriptionLevelCouponData.setRedemptionResource(RedemptionResource.subscription); redemptionData.setAccountCode(account.getAccountCode()); redemptionData.setCurrency(CURRENCY); Redemption redemption = recurlyClient.redeemCoupon(coupon.getCouponCode(), redemptionData); Assert.assertNotNull(redemption); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode()); Assert.assertEquals(redemption.getAccount().getAccountCode(), account.getAccountCode()); Assert.assertFalse(redemption.getSingleUse()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode()); Assert.assertEquals(redemption.getAccount().getAccountCode(), account.getAccountCode()); secondRedemptionData.setAccountCode(account.getAccountCode()); secondRedemptionData.setCurrency(CURRENCY); Redemption secondRedemption = recurlyClient.redeemCoupon(secondCoupon.getCouponCode(), secondRedemptionData); Assert.assertNotNull(secondRedemption); Assert.assertEquals(secondRedemption.getCoupon().getCouponCode(), secondCoupon.getCouponCode()); Assert.assertEquals(secondRedemption.getAccount().getAccountCode(), account.getAccountCode()); Assert.assertFalse(secondRedemption.getSingleUse()); redemptionData2.setAccountCode(account.getAccountCode()); redemptionData2.setCurrency(CURRENCY); redemption = recurlyClient.redeemCoupon(coupon.getCouponCode(), redemptionData2); Assert.assertNotNull(redemption); redemption = recurlyClient.getCouponRedemptionByAccount(account.getAccountCode()); Assert.assertEquals(redemption.getCoupon().getCouponCode(), coupon.getCouponCode());
public void setFreeTrialUnit(final Object freeTrialUnit) { this.freeTrialUnit = enumOrNull(FreeTrialUnit.class, freeTrialUnit); }