public void CreateMeasures_WhenThereIsNoSequenceForTheMeasureCreatedDate_ApplicationExceptionThrown() { var standardId = Guid.NewGuid(); var batchId = Guid.NewGuid(); var geneticLineId = Guid.NewGuid(); var batchCreatedDate = new DateTime(2015, 09, 09); var batch = new Batch() { CreatedDate = batchCreatedDate, Id = batchId, GeneticLineId = geneticLineId }; var standardItem = new StandardItem() { Sequence = 1, StandardGeneticLine = new StandardGeneticLine() { GeneticLineId = geneticLineId, StandardId = standardId } }; var standardItems = new List<StandardItem>() { standardItem }.AsQueryable(); var standardWithDataTypeWeek = new Standard() { Id = standardId, DataLoadTypeId = new Guid(GlobalConstants.WeeklyDataLoadType) }; Mock.Get(_standardRepository) .Setup(x => x.Get(standardId)) .Returns(standardWithDataTypeWeek); Mock.Get(_batchRepository) .Setup(x => x.Get(batchId)) .Returns(batch); Mock.Get(_standardItemRepository) .Setup(repository => repository.GetAll(It.IsAny<Expression<Func<StandardItem, bool>>>())) .Returns(standardItems); var outOfScopeMeasureDate = new DateTime(2015, 09, 30); _measureService = new MeasureService(_uow, _clock); var measures = new List<LoadMeasureModel>() { new LoadMeasureModel() { BatchId = batchId, StandardId = standardId, CreatedDate = outOfScopeMeasureDate }}; _measureService.CreateMeasures(measures, batchId); }
public void Edit(GeneticLine geneticLine) { var currentGeneticLine = this.GetById(geneticLine.Id); var previousWeeks = currentGeneticLine.ProductionWeeks; currentGeneticLine.Name = geneticLine.Name; currentGeneticLine.ProductionWeeks = geneticLine.ProductionWeeks; var standards = currentGeneticLine.StandardGeneticLines.Where(x => !x.IsDeleted).ToList(); if (standards.Any()) { foreach (var standard in standards) { if (previousWeeks < geneticLine.ProductionWeeks) { for (int i = previousWeeks; i < geneticLine.ProductionWeeks; i++) { var item = new StandardItem() { Sequence = i + 1, Value1 = 0, Value2 = 0, StandardGeneticLineId = standard.Id }; Uow.StandardItems.Add(item); } } else if (previousWeeks > geneticLine.ProductionWeeks) { var orderedList = standard.StandardItems.Where(x => !x.IsDeleted).OrderBy(x => x.Sequence).ToList(); for (int i = geneticLine.ProductionWeeks; i < previousWeeks; i++) { var item = orderedList.ElementAt(i); Uow.StandardItems.Delete(item); } } } } Uow.GeneticLines.Edit(currentGeneticLine); Uow.Commit(); }
public void CreateMeasures_WhenThereIsSequenceForTheMeasureCreatedDate_NoException() { var standardId = Guid.NewGuid(); var batchId = Guid.NewGuid(); var geneticLineId = Guid.NewGuid(); var batchCreatedDate = new DateTime(2015, 09, 09); var batch = new Batch() { CreatedDate = batchCreatedDate, Id = batchId, GeneticLineId = geneticLineId }; var standardItem = new StandardItem() { Sequence = 1, StandardGeneticLine = new StandardGeneticLine() { GeneticLineId = geneticLineId, StandardId = standardId } }; var standardItems = new List<StandardItem>() { standardItem }.AsQueryable(); var standardWithDataTypeWeek = new Standard() { Id = standardId, DataLoadTypeId = new Guid(GlobalConstants.WeeklyDataLoadType) }; Mock.Get(_standardRepository) .Setup(x => x.Get(standardId)) .Returns(standardWithDataTypeWeek); Mock.Get(_batchRepository) .Setup(x => x.Get(batchId)) .Returns(batch); Mock.Get(_standardItemRepository) .Setup(repository => repository.Get(It.IsAny<Expression<Func<StandardItem, bool>>>())) .Returns<Expression<Func<StandardItem, bool>>, Expression<Func<StandardItem, object>>[]>((expression, includes) => { return standardItems.FirstOrDefault(expression); }); Mock.Get(_standardItemRepository) .Setup(repository => repository.GetAll(It.IsAny<Expression<Func<StandardItem, bool>>>())) .Returns(standardItems); var validMeasureDate = new DateTime(2015, 09, 16); _measureService = new MeasureService(_uow, _clock); var measures = new List<LoadMeasureModel>() { new LoadMeasureModel() { BatchId = batchId, StandardId = standardId, CreatedDate = validMeasureDate } }; _measureService.CreateMeasures(measures, batchId); Assert.IsTrue(true); }
public void MaxDateAllowed_WhenStandardContains1WeekItem_Returns1WeekFromTheBatchCreatedDate() { var standardId = Guid.NewGuid(); var geneticLineId = Guid.NewGuid(); var batchCreatedDate = new DateTime(2015, 09, 09); var batch = new Batch() { CreatedDate = batchCreatedDate, GeneticLineId = geneticLineId }; var standardItem = new StandardItem() { Sequence = 1, StandardGeneticLine = new StandardGeneticLine() { GeneticLineId = geneticLineId, StandardId = standardId } }; var standardItems = new List<StandardItem>() { standardItem }.AsQueryable(); var standardWithDataTypeWeek = new Standard() { Id = standardId, DataLoadTypeId = new Guid(GlobalConstants.WeeklyDataLoadType) }; Mock.Get(_standardRepository) .Setup(x => x.Get(standardId)) .Returns(standardWithDataTypeWeek); Mock.Get(_standardItemRepository) .Setup(repository => repository.GetAll(It.IsAny<Expression<Func<StandardItem, bool>>>())) .Returns(standardItems); _measureService = new MeasureService(_uow, _clock); var actualValue = _measureService.MaxDateAllowed(standardId, geneticLineId, batch.CreatedDate); DateTime expectedValue = new DateTime(2015, 09, 16); Assert.AreEqual(actualValue, expectedValue); }