public IActionResult GetTest(DateTime startDate, DateTime endDate, string grouping) { bool isValid = ConsumptionRequestValidator.Validate(startDate, endDate, grouping); if (!isValid) { return(this.BadRequest()); } if (grouping.Equals("day")) { return(Ok(new List <ConsumptionModel> { new ConsumptionModel { Period = "04.01.2018", Amount = 7 }, new ConsumptionModel { Period = "05.01.2018", Amount = 8 }, new ConsumptionModel { Period = "06.01.2018", Amount = 9 } })); } else if (grouping.Equals("week")) { return(Ok(new List <ConsumptionModel> { new ConsumptionModel { Period = "01.01.2018 - 07.01.2018", Amount = 57 }, new ConsumptionModel { Period = "08.01.2018 - 14.01.2018", Amount = 68 }, })); } else if (grouping.Equals("month")) { return(Ok(new List <ConsumptionModel> { new ConsumptionModel { Period = "January 2018", Amount = 580 }, new ConsumptionModel { Period = "February 2018", Amount = 600 }, })); } else { throw new InvalidOperationException(); } }
public void Reject_Bad_Grouping_Method(string grouping) { Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), grouping)); }
public void Allow_Correct_Grouping_Method(string grouping) { Assert.True(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), grouping)); }
public void EndDate_Cannot_Be_Greater_Than_Today() { Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 02), DateTime.Today.AddDays(1), "day")); }
public void StartDate_Cannot_Be_Greater_Than_EndDate() { Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 02), new DateTime(2018, 01, 01), "day")); }
public void StartDate_Cannot_Be_Less_Than_Two_Years_From_Today() { Assert.False(ConsumptionRequestValidator.Validate(new DateTime(2014, 01, 01), new DateTime(2018, 01, 02), "day")); }
public void Okey() { Assert.True(ConsumptionRequestValidator.Validate(new DateTime(2018, 01, 01), new DateTime(2018, 01, 02), "day")); }