public void Subscription_Can_Reactivate_With_Trial() { // Arrange var trialingProduct = Chargify.GetProductList().Values.FirstOrDefault(p => p.TrialInterval > 0); var referenceId = Guid.NewGuid().ToString(); var expMonth = DateTime.Now.AddMonths(1).Month; var expYear = DateTime.Now.AddMonths(12).Year; var newCustomer = new CustomerAttributes(Faker.Name.First(), Faker.Name.Last(), Faker.Internet.Email(), Faker.Phone.Number(), Faker.Company.Name(), referenceId); var newPaymentInfo = GetTestPaymentMethod(newCustomer); var createdSubscription = Chargify.CreateSubscription(trialingProduct.Handle, newCustomer, newPaymentInfo); Assert.IsNotNull(createdSubscription); var deletedSubscription = Chargify.DeleteSubscription(createdSubscription.SubscriptionID, "Delete for test Subscription_Can_Reactivate_With_Trial"); Assert.IsNotNull(deletedSubscription); var foundSubscription = Chargify.Find <Subscription>(createdSubscription.SubscriptionID); Assert.IsTrue(foundSubscription.State == SubscriptionState.Canceled, "Expected cancelled subscription on a trial product"); // Act var result = Chargify.ReactivateSubscription(foundSubscription.SubscriptionID, true, null, null); // Assert Assert.IsNotNull(result); #if !NUNIT Assert.IsInstanceOfType(result, typeof(ISubscription)); #endif Assert.IsTrue(result.State != foundSubscription.State); Assert.IsTrue(result.State == SubscriptionState.Trialing); }
public void Subscription_Reactivation() { // Arrange var product = Chargify.GetProductList().Values.FirstOrDefault(); var referenceId = Guid.NewGuid().ToString(); var expMonth = DateTime.Now.AddMonths(1).Month; var expYear = DateTime.Now.AddMonths(12).Year; var newCustomer = new CustomerAttributes(Faker.Name.First(), Faker.Name.Last(), Faker.Internet.Email(), Faker.Phone.Number(), Faker.Company.Name(), referenceId); var newPaymentInfo = GetTestPaymentMethod(newCustomer); // Act var newSubscription = Chargify.CreateSubscription(product.Handle, newCustomer, newPaymentInfo); var result = Chargify.DeleteSubscription(newSubscription.SubscriptionID, "testing"); var foundSubscription = Chargify.Find <Subscription>(newSubscription.SubscriptionID); var resultSubscription = Chargify.ReactivateSubscription(foundSubscription.SubscriptionID); // Assert #if !NUNIT Assert.IsInstanceOfType(newSubscription, typeof(Subscription)); Assert.IsInstanceOfType(foundSubscription, typeof(Subscription)); Assert.IsInstanceOfType(resultSubscription, typeof(Subscription)); #endif Assert.IsNotNull(newSubscription); Assert.IsTrue(result); Assert.IsNotNull(foundSubscription); Assert.IsTrue(foundSubscription.State == SubscriptionState.Canceled); Assert.IsNotNull(newSubscription); Assert.IsTrue(resultSubscription.State == SubscriptionState.Active); }
public void SubOverride_Can_Override() { // Arrange var subscription = Chargify.GetSubscriptionList().FirstOrDefault(s => s.Value.State == SubscriptionState.Active).Value; DateTime now = DateTime.Now; DateTime activatedAt = now.AddDays(-4); DateTime canceledAt = now; DateTime expiresAt = now.AddDays(4); string cancellationMessage = Guid.NewGuid().ToString(); // Act bool result = Chargify.SetSubscriptionOverride(subscription.SubscriptionID, activatedAt, canceledAt, cancellationMessage, expiresAt); var retrievedSubscription = Chargify.Find <Subscription>(subscription.SubscriptionID); // Assert Assert.IsTrue(result); Assert.IsTrue(IsDateTimeEqual(activatedAt, retrievedSubscription.ActivatedAt)); Assert.IsFalse(IsDateTimeEqual(subscription.ActivatedAt, retrievedSubscription.ActivatedAt)); Assert.IsTrue(IsDateTimeEqual(canceledAt, retrievedSubscription.CanceledAt)); Assert.IsFalse(IsDateTimeEqual(subscription.CanceledAt, retrievedSubscription.CanceledAt)); Assert.AreEqual(cancellationMessage, retrievedSubscription.CancellationMessage); Assert.AreNotEqual(subscription.CancellationMessage, retrievedSubscription.CancellationMessage); Assert.IsTrue(IsDateTimeEqual(expiresAt, retrievedSubscription.ExpiresAt)); Assert.IsFalse(IsDateTimeEqual(subscription.ExpiresAt, retrievedSubscription.ExpiresAt)); }
public void Subscription_Reactivation() { // Arrange var product = Chargify.GetProductList().Values.FirstOrDefault(); var referenceID = Guid.NewGuid().ToString(); var expMonth = DateTime.Now.AddMonths(1).Month; var expYear = DateTime.Now.AddMonths(12).Year; var newCustomer = new CustomerAttributes("Scott", "Pilgrim", "*****@*****.**", "123-456-7890", "Chargify", referenceID); var newPaymentInfo = GetTestPaymentMethod(newCustomer); // Act var newSubscription = Chargify.CreateSubscription(product.Handle, newCustomer, newPaymentInfo); var result = Chargify.DeleteSubscription(newSubscription.SubscriptionID, "testing"); var foundSubscription = Chargify.Find <Subscription>(newSubscription.SubscriptionID); var resultSubscription = Chargify.ReactivateSubscription(foundSubscription.SubscriptionID); // Assert #if !NUNIT Assert.IsInstanceOfType(newSubscription, typeof(Subscription)); Assert.IsInstanceOfType(foundSubscription, typeof(Subscription)); Assert.IsInstanceOfType(resultSubscription, typeof(Subscription)); #endif Assert.IsNotNull(newSubscription); Assert.IsTrue(result); Assert.IsNotNull(foundSubscription); Assert.IsTrue(foundSubscription.State == SubscriptionState.Canceled); Assert.IsNotNull(newSubscription); Assert.IsTrue(resultSubscription.State == SubscriptionState.Active); }
public void Subscription_Can_Reactivate_Without_Trial() { // Arrange var trialingProduct = Chargify.GetProductList().Values.FirstOrDefault(p => p.TrialInterval > 0); var referenceID = Guid.NewGuid().ToString(); var expMonth = DateTime.Now.AddMonths(1).Month; var expYear = DateTime.Now.AddMonths(12).Year; var newCustomer = new CustomerAttributes("Scott", "Pilgrim", "*****@*****.**", "123-456-7890", "Chargify", referenceID); var newPaymentInfo = GetTestPaymentMethod(newCustomer); var createdSubscription = Chargify.CreateSubscription(trialingProduct.Handle, newCustomer, newPaymentInfo); Assert.IsNotNull(createdSubscription); var deletedSubscription = Chargify.DeleteSubscription(createdSubscription.SubscriptionID, "Delete for test Subscription_Can_Reactivate_With_Trial"); Assert.IsNotNull(deletedSubscription); var foundSubscription = Chargify.Find <Subscription>(createdSubscription.SubscriptionID); Assert.IsTrue(foundSubscription.State == SubscriptionState.Canceled, "Expected cancelled subscription on a trial product"); // Act var result = Chargify.ReactivateSubscription(foundSubscription.SubscriptionID, false); // Assert Assert.IsNotNull(result); #if !NUNIT Assert.IsInstanceOfType(result, typeof(ISubscription)); #endif Assert.IsTrue(result.State != foundSubscription.State); Assert.IsTrue(result.State == SubscriptionState.Active); }
public void Subscription_Load_Where_State_Is_TrialEnded() { // Arrange var subscription = Chargify.GetSubscriptionList().FirstOrDefault(s => s.Value.State == SubscriptionState.Trial_Ended).Value as Subscription; Assert.IsNotNull(subscription, "No applicable subscription found."); // Act var retreivedSubscription = Chargify.Find <Subscription>(subscription.SubscriptionID); // Assert Assert.IsNotNull(retreivedSubscription); Assert.IsTrue(retreivedSubscription.State == SubscriptionState.Trial_Ended); Assert.IsInstanceOfType(retreivedSubscription, typeof(Subscription)); }
public void Subscription_Can_Be_Purged() { // Arrange var trialingProduct = Chargify.GetProductList().Values.FirstOrDefault(p => p.TrialInterval > 0); var referenceId = Guid.NewGuid().ToString(); var expMonth = DateTime.Now.AddMonths(1).Month; var expYear = DateTime.Now.AddMonths(12).Year; var newCustomer = new CustomerAttributes(Faker.Name.FirstName(), Faker.Name.LastName(), Faker.Internet.Email(), Faker.Phone.PhoneNumber(), Faker.Company.CompanyName(), referenceId); var newPaymentInfo = GetTestPaymentMethod(newCustomer); var createdSubscription = Chargify.CreateSubscription(trialingProduct.Handle, newCustomer, newPaymentInfo); Assert.IsNotNull(createdSubscription); Chargify.PurgeSubscription(createdSubscription.SubscriptionID); var purgedSubscription = Chargify.Find <Subscription>(createdSubscription.SubscriptionID); Assert.IsNull(purgedSubscription); }