public void Update_DoesUpdateWhenRevertFalse()
{
TestPlan originalPlan = PlanFixture.PLAN_WITHOUT_TRIAL;
SubscriptionRequest request = new SubscriptionRequest
{
PaymentMethodToken = creditCard.Token,
PlanId = originalPlan.Id,
Price = 1.23M
};
Subscription subscription = gateway.Subscription.Create(request).Target;
SubscriptionRequest updateRequest = new SubscriptionRequest
{
Price = 2100.00M,
Options = new SubscriptionOptionsRequest
{
ProrateCharges = true,
RevertSubscriptionOnProrationFailure = false
}
};
Result<Subscription> result = gateway.Subscription.Update(subscription.Id, updateRequest);
Assert.IsTrue(result.IsSuccess());
subscription = result.Target;
Assert.AreEqual(2100.00M, subscription.Price);
Assert.AreEqual(2, subscription.Transactions.Count);
Assert.AreEqual(TransactionStatus.PROCESSOR_DECLINED, subscription.Transactions[0].Status);
Assert.AreEqual(subscription.Transactions[0].Amount, subscription.Balance);
}