示例#1
0
        public void ContributionAddedSinceLastMonth()
        {
            var lastMonth = DateTime.Today.AddMonths(-1);
            var contribution = new Contribution { InitialDate = lastMonth, Value = 1560, ContributionFactor = 0.78 };
            InsertContribution(contribution);

            var data = business.GetInitialData(DateTime.Today.Month, DateTime.Today.Year);

            Assert.That(data.monthBalance, Is.EqualTo(contribution.RealValue));
        }
        public void ValidContribution_SholdBeValid_InInitialDateMonth()
        {
            var currentMonth = new DateTime(2013,03,08);
            var contribution1 = new Contribution { InitialDate = currentMonth, Value = 200, ContributionFactor = 0.5 };
            InsertContribution(contribution1);

            var contributions = contributionBusiness.GetCurrentContributions(currentMonth.Month, currentMonth.Year);

            Assert.That(contributions.Count(), Is.EqualTo(1));
        }
        public void ValidContribution_IsMostRecent()
        {
            var contribution1 = new Contribution { InitialDate = lastMonth, Value = 200, ContributionFactor = 0.5 };
            var contribution2 = new Contribution { InitialDate = lastMonth.AddMonths(-5), Value = 100, ContributionFactor = 0.5 };
            InsertContribution(contribution1);
            InsertContribution(contribution2);

            var contributions = contributionBusiness.GetCurrentContributions(DateTime.Today.Month, DateTime.Today.Year);

            Assert.That(contributions.First().Value, Is.EqualTo(200));
        }
        public void ValidContribution_ContributorSholdHaveOnlyOne()
        {
            var contribution1 = new Contribution { InitialDate = lastMonth, Value = 100, ContributionFactor = 0.5 };
            var contribution2 = new Contribution { InitialDate = lastMonth, Value = 100, ContributionFactor = 0.5 };
            InsertContribution(contribution1);
            InsertContribution(contribution2);

            var contributions = contributionBusiness.GetCurrentContributions(DateTime.Today.Month, DateTime.Today.Year);

            Assert.That(contributions.Count(), Is.EqualTo(1));
        }
示例#5
0
        public void TwoContributorsSinceLastMonth()
        {
            var lastMonth = DateTime.Today.AddMonths(-1);
            var contrib1 = new Contribution { InitialDate = lastMonth, Value = 1560, ContributionFactor = 0.78 };
            var contrib2 = new Contribution { InitialDate = lastMonth, Value = 1560, ContributionFactor = 0.78, Contributor = new Contributor { Name = "Ana" } };
            InsertContribution(contrib1);
            InsertContribution(contrib2);

            var data = business.GetInitialData(DateTime.Today.Month, DateTime.Today.Year);

            Assert.That(data.monthBalance, Is.EqualTo(contrib1.RealValue + contrib2.RealValue));
        }
 private void InsertContribution(Contribution contribution)
 {
     if (contribution.Contributor == null)
     {
         contribution.Contributor = new Contributor { Name = "Alfred" };
     }
     var contributor = contributorBusiness.GetByName(contribution.Contributor.Name);
     if (contributor != null)
     {
         contribution.Contributor = contributor;
     }
     contributionBusiness.Insert(contribution);
 }
 // POST api/Contribution
 public HttpResponseMessage PostContribution(Contribution contribution)
 {
     if (ModelState.IsValid)
     {
         contributionBusiness.Insert(contribution);
         HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, contribution);
         response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = contribution.ID }));
         return response;
     }
     else
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest);
     }
 }
        public void ValidContribution_IsMostRecentByContributor()
        {
            var contribution1 = new Contribution { InitialDate = lastMonth.AddMonths(-5), Value = 200, ContributionFactor = 0.5 };
            var contribution2 = new Contribution { InitialDate = lastMonth.AddMonths(-5), Value = 100, ContributionFactor = 0.5, Contributor = new Contributor { Name = "Ana" } };
            var contribution3 = new Contribution { InitialDate = lastMonth, Value = 200, ContributionFactor = 0.5 };
            var contribution4 = new Contribution { InitialDate = lastMonth, Value = 100, ContributionFactor = 0.5, Contributor = new Contributor { Name = "Ana" } };
            InsertContribution(contribution1);
            InsertContribution(contribution2);
            InsertContribution(contribution3);
            InsertContribution(contribution4);

            var contributions = contributionBusiness.GetCurrentContributions(DateTime.Today.Month, DateTime.Today.Year);

            Assert.That(contributions.Count(), Is.EqualTo(2));
        }
        // PUT api/Contribution/5
        public HttpResponseMessage PutContribution(long id, Contribution contribution)
        {
            if (ModelState.IsValid && id == contribution.ID)
            {
                try
                {
                    contributionBusiness.Update(contribution);
                }
                catch (DbUpdateConcurrencyException)
                {
                    return Request.CreateResponse(HttpStatusCode.NotFound);
                }

                return Request.CreateResponse(HttpStatusCode.OK, contribution);
            }
            else
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }
        }
示例#10
0
        public void TwoContributorsTwoContributions()
        {
            var lastMonth = DateTime.Today.AddMonths(-1);
            var twoMonthsAgo = DateTime.Today.AddMonths(-2);
            var alfredoContrib = new Contribution { InitialDate = lastMonth, Value = 1560, ContributionFactor = 0.78 };
            var anaFirstContrib = new Contribution { InitialDate = twoMonthsAgo, Value = 1560, ContributionFactor = 0.78 , Contributor = new Contributor { Name = "Ana" }};
            var anaSecondContrib = new Contribution { InitialDate = lastMonth, Value = 1560, ContributionFactor = 0.78, Contributor = new Contributor { Name = "Ana" } };
            InsertContribution(alfredoContrib);
            InsertContribution(anaFirstContrib);
            InsertContribution(anaSecondContrib);

            var monthBalance = business.GetInitialData(DateTime.Today.Month, DateTime.Today.Year).monthBalance;
            var expected = alfredoContrib.RealValue + anaSecondContrib.RealValue;

            Assert.That(monthBalance, Is.EqualTo(expected));
        }