Exemple #1
0
        public async Task WhenCreatorPercentageIsSetWithExpiredExpiry_ItShouldReturnTheCreatorPercentageWithNumberOfWeeks1()
        {
            var paymentProcessingStartDateInclusive = PaymentProcessingUtilities.GetPaymentProcessingStartDate(Now);
            var creatorPercentageOverride           = new CreatorPercentageOverrideData(0.9m, paymentProcessingStartDateInclusive.AddDays(7).AddTicks(-1));

            this.getAccountSettings.Setup(v => v.ExecuteAsync(UserId, FreePostTimestamp, PostConstants.MaximumFreePostsPerInterval))
            .ReturnsAsync(new GetAccountSettingsDbResult(
                              Username, Email, null, AccountBalance, PaymentStatus, HasPaymentInformation, creatorPercentageOverride, FreePostsRemaining))
            .Verifiable();

            var result = await this.target.HandleAsync(new GetAccountSettingsQuery(Requester, UserId, Now));

            this.getAccountSettings.Verify();

            var expectedResult = new GetAccountSettingsResult(
                Username,
                Email,
                null,
                AccountBalance,
                PaymentStatus,
                HasPaymentInformation,
                Payments.Constants.DefaultCreatorPercentage,
                null,
                FreePostsRemaining);

            Assert.AreEqual(expectedResult, result);
        }
Exemple #2
0
        internal static int?GetWeeksRemaining(DateTime?expiryDate, DateTime now)
        {
            if (expiryDate == null)
            {
                return(null);
            }

            var expiryDateWeekStartDateInclusive = PaymentProcessingUtilities.GetPaymentProcessingStartDate(expiryDate.Value);
            var finalWeekEndDateInclusive        = expiryDateWeekStartDateInclusive.AddTicks(-1);

            return((int)((finalWeekEndDateInclusive - now).TotalDays / 7));
        }
Exemple #3
0
        internal static CreatorPercentageOverrideData GetCreatorPercentage(CreatorPercentageOverrideData creatorPercentageOverride, DateTime now)
        {
            var paymentProcessingStartDateInclusive = PaymentProcessingUtilities.GetPaymentProcessingStartDate(now);
            var paymentProcessingEndDateExclusive   = paymentProcessingStartDateInclusive.AddDays(7);

            var creatorPercentageOverrideResult = PaymentProcessingUtilities.GetCreatorPercentageOverride(
                creatorPercentageOverride, paymentProcessingEndDateExclusive);

            return(creatorPercentageOverrideResult
                   ?? new CreatorPercentageOverrideData(
                       Fifthweek.Payments.Constants.DefaultCreatorPercentage,
                       null));
        }