Пример #1
0
    public void ReturnsDaysSubscribedToDate()
    {
        var member = MemberHelpers.CreateWithDefaultConstructor();
        MemberSubscription subscription = SubscriptionHelpers.GetSubscriptionWithGivenSubscribedDaysToDateAndTotalSubscribedDays(50);

        member.AddSubscription(subscription.Dates, 1);
        int days = member.TotalSubscribedDays();

        Assert.Equal(50, days);
    }
    public void AddsSubscriptionWithGivenDateTimeRange()
    {
        Member             member       = MemberHelpers.CreateWithDefaultConstructor();
        MemberSubscription subscription = SubscriptionHelpers.GetDefaultTestSubscription();

        member.AddSubscription(subscription.Dates, 1);

        var subscriptionAdded = member.MemberSubscriptions.Any(s => s.Dates.Equals(subscription.Dates));

        Assert.True(subscriptionAdded);
    }
        public void Returns100GivenPercentageOver100()
        {
            var member       = MemberHelpers.CreateWithDefaultConstructor();
            var subscription = SubscriptionHelpers.GetSubscriptionWithGivenSubscribedDaysToDateAndTotalSubscribedDays(731);

            member.AddSubscription(subscription.Dates);

            var expectedPercentage = 100;

            var percentage = _memberSubscriptionPeriodCalculationsService.GetPercentageProgressToAlumniStatus(member);

            Assert.Equal(expectedPercentage, percentage);
        }
        public void CalculatesCorrectPercentageGivenPercentageBelow100(int days)
        {
            var member       = MemberHelpers.CreateWithDefaultConstructor();
            var subscription = SubscriptionHelpers.GetSubscriptionWithGivenSubscribedDaysToDateAndTotalSubscribedDays(days);

            member.AddSubscription(subscription.Dates);

            var expectedPercentage = (int)(100 * ((double)days / (double)730));

            var percentage = _memberSubscriptionPeriodCalculationsService.GetPercentageProgressToAlumniStatus(member);

            Assert.Equal(expectedPercentage, percentage);
        }
    public void DoesNothingGivenNoCurrentSubscription()
    {
        Member             member = MemberHelpers.CreateWithDefaultConstructor();
        MemberSubscription starterSubscription = SubscriptionHelpers.GetSubscriptionWithPastEndDate();
        DateTime           newEndDate          = DateTime.Now.AddDays(30);
        var originalEndDate = starterSubscription.Dates.EndDate;

        member.AddSubscription(starterSubscription.Dates, 1);

        member.ExtendCurrentSubscription(newEndDate);

        Assert.Equal(originalEndDate, member.MemberSubscriptions[0].Dates.EndDate);

        Assert.Single(member.MemberSubscriptions);
    }
    public void ExtendsSubscription()
    {
        Member             member = MemberHelpers.CreateWithDefaultConstructor();
        MemberSubscription starterSubscription = SubscriptionHelpers.GetDefaultTestSubscription();
        DateTime           newEndDate          = DateTime.Now.AddDays(30);
        DateTime           originalStartDate   = starterSubscription.Dates.StartDate;

        member.AddSubscription(starterSubscription.Dates, 1);

        member.ExtendCurrentSubscription(newEndDate);

        Assert.Equal(newEndDate, member.MemberSubscriptions[0].Dates.EndDate);
        Assert.Equal(originalStartDate, member.MemberSubscriptions[0].Dates.StartDate);

        Assert.Single(member.MemberSubscriptions);
    }
Пример #7
0
        public async Task <ActionResult> Register(string code)
        {
            if (!Request.IsAuthenticated)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized));
            }

            var userId         = User.Identity.GetUserId();
            var subscriptionId = await SubscriptionHelpers.GetSubscrptionId(code);

            var registered = await SubscriptionHelpers.TryRegister(subscriptionId, userId);

            if (!registered)
            {
                throw new ApplicationException();
            }

            return(RedirectToAction("Index", "Home"));
        }