public void Update_CanReplaceAllAddOnsAndDiscounts()
{
TestPlan plan = PlanFixture.ADD_ON_DISCOUNT_PLAN;
SubscriptionRequest createRequest = new SubscriptionRequest
{
PaymentMethodToken = creditCard.Token,
PlanId = plan.Id
};
Subscription subscription = gateway.Subscription.Create(createRequest).Target;
SubscriptionRequest request = new SubscriptionRequest
{
PaymentMethodToken = creditCard.Token,
PlanId = plan.Id,
AddOns = new AddOnsRequest
{
Add = new AddAddOnRequest[]
{
new AddAddOnRequest
{
InheritedFromId = "increase_30"
}
},
},
Discounts = new DiscountsRequest
{
Add = new AddDiscountRequest[]
{
new AddDiscountRequest
{
InheritedFromId = "discount_15",
}
},
},
Options = new SubscriptionOptionsRequest
{
ReplaceAllAddOnsAndDiscounts = true
}
};
Result<Subscription> result = gateway.Subscription.Update(subscription.Id, request);
Assert.IsTrue(result.IsSuccess());
subscription = result.Target;
Assert.AreEqual(1, subscription.AddOns.Count);
Assert.AreEqual(1, subscription.Discounts.Count);
}