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