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); }
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")); }