コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }