public void ExpireSubscription_IsSuccessful() { // Arrange var referenceDate = DateTime.UtcNow; SystemClock.Set(referenceDate); var subscriptionPaymentSnapshot = new SubscriptionPaymentSnapshot( new SubscriptionPaymentId(Guid.NewGuid()), new PayerId(Guid.NewGuid()), SubscriptionPeriod.Month, "PL"); var subscription = Subscription.Create(subscriptionPaymentSnapshot); SystemClock.Set(referenceDate.AddMonths(1).AddMilliseconds(1)); // Act subscription.Expire(); // Assert AssertPublishedDomainEvent <SubscriptionExpiredDomainEvent>(subscription); }
public void RenewSubscription_IsSuccessful() { // Arrange var subscriptionPaymentSnapshot = new SubscriptionPaymentSnapshot( new SubscriptionPaymentId(Guid.NewGuid()), new PayerId(Guid.NewGuid()), SubscriptionPeriod.Month, "PL"); var subscription = Subscription.Create(subscriptionPaymentSnapshot); var subscriptionRenewalPaymentSnapshot = new SubscriptionRenewalPaymentSnapshot( new SubscriptionRenewalPaymentId(Guid.NewGuid()), new PayerId(Guid.NewGuid()), SubscriptionPeriod.Month, "PL"); // Act subscription.Renew(subscriptionRenewalPaymentSnapshot); // Assert AssertPublishedDomainEvent <SubscriptionRenewedDomainEvent>(subscription); }