public void ItShouldValidateWhenPositions() { var forecastPlan = new ForecastPlan <int>(); forecastPlan.AddPosition(new Mock <IPosition>().Object); Assert.IsTrue(forecastPlan.Validate()); }
public void ItShouldFetchSchemeForEachPosition() { var forecastPlan = new ForecastPlan <int>(); var position = new Mock <IPosition>(); position.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); forecastPlan.AddPosition(position.Object); }
public void ItShouldLoadPlanWhenExists() { var forecastPlan = new ForecastPlan <int> { CreationDate = DateTime.Today }; var dataService = new Mock <IForecastDataAccessService>(); dataService.Setup(x => x.GetPlan(1)).Returns(forecastPlan); var service = new ForecastService <int>(dataService.Object); service.LoadPlan(1); Assert.AreEqual(forecastPlan, service.Plan); }
public void ItShouldSetExecutionDateAfterRun() { var plan = new ForecastPlan <int> { CreationDate = DateTime.Today }; var positions = new List <IPosition>(); var positionOpen = new Mock <IPosition>(); var positionActive1 = new Mock <IPosition>(); var positionActive2 = new Mock <IPosition>(); positionOpen.Setup(x => x.Status).Returns(HCPositionStatus.Open); positionOpen.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionOpen.Setup(x => x.Company).Returns(new CompanyDto { Code = "4001" }); positionActive1.Setup(x => x.Status).Returns(HCPositionStatus.Active); positionActive1.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionActive1.Setup(x => x.Company).Returns(new CompanyDto { Code = "4003" }); positionActive2.Setup(x => x.Status).Returns(HCPositionStatus.Active); positionActive2.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionActive2.Setup(x => x.Company).Returns(new CompanyDto { Code = "4001" }); positions.Add(positionActive1.Object); positions.Add(positionActive2.Object); positions.Add(positionOpen.Object); plan.AddPositions(positions); var dataService = new Mock <IForecastDataAccessService>(); dataService.Setup(x => x.GetPlan(1)).Returns(plan); //dataService.Setup(x => x.GetPositions(It.IsAny<DateTime>())).Returns(positions); var service = new ForecastService <int>(dataService.Object); service.LoadPlan(1); service.Run(); Thread.Sleep(5000); Assert.AreEqual(DateTime.Today.Date, service.Plan.ExecutionDate.Value.Date); }
public void ItShouldDeleteResultsBeforeRun() { var plan = new ForecastPlan <int> { CreationDate = DateTime.Today, Id = 1 }; var dataService = new Mock <IForecastDataAccessService>(); dataService.Setup(x => x.DeleteResults(It.IsAny <int>())).Verifiable(); dataService.Setup(x => x.GetPlan(1)).Returns(plan); var positions = new List <IPosition>(); var positionOpen = new Mock <IPosition>(); var positionActive1 = new Mock <IPosition>(); var positionActive2 = new Mock <IPosition>(); positionOpen.Setup(x => x.Status).Returns(HCPositionStatus.Open); positionOpen.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionOpen.Setup(x => x.Company).Returns(new CompanyDto { Code = "4001" }); positionActive1.Setup(x => x.Status).Returns(HCPositionStatus.Active); positionActive1.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionActive1.Setup(x => x.Company).Returns(new CompanyDto { Code = "4003" }); positionActive2.Setup(x => x.Status).Returns(HCPositionStatus.Active); positionActive2.Setup(x => x.HCType).Returns(new HCTypeDto { Code = "FTE" }); positionActive2.Setup(x => x.Company).Returns(new CompanyDto { Code = "4001" }); positions.Add(positionActive1.Object); positions.Add(positionActive2.Object); positions.Add(positionOpen.Object); plan.PositionLogs = positions; var service = new ForecastService <int>(dataService.Object); service.LoadPlan(1); service.Run(); dataService.Verify(x => x.DeleteResults(1), Times.Once()); }
public void ItShouldDeleteResults() { var plan = new ForecastPlan <int> { CreationDate = DateTime.Today, Id = 1 }; var dataService = new Mock <IForecastDataAccessService>(); dataService.Setup(x => x.DeleteResults(It.IsAny <int>())).Verifiable(); dataService.Setup(x => x.GetPlan(1)).Returns(plan); var service = new ForecastService <int>(dataService.Object); service.LoadPlan(1); service.DeleteResults(); dataService.Verify(x => x.DeleteResults(1), Times.Once()); }
public void ItShouldNotValidateWhenNoPositions() { var forecastPlan = new ForecastPlan <int>(); Assert.Throws(typeof(ForecastPlanException), () => forecastPlan.Validate()); }