public void SaveChanges_ArrayOfThumbnailOptions_NewThumbnailOptionsSaved() { var optionEntities = ThumbnailOptionEntitesDataSource.ToList(); var mock = new Mock <IThumbnailRepository>(); mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object); mock.Setup(x => x.Add(It.IsAny <ThumbnailOptionEntity>())) .Callback((ThumbnailOptionEntity entity) => { optionEntities.Add(entity); }); mock.Setup(r => r.GetThumbnailOptionsByIds(It.IsAny <string[]>())) .Returns((string[] ids) => { return(optionEntities.Where(t => ids.Contains(t.Id)).ToArray()); }); var sut = new ThumbnailOptionService(() => mock.Object); sut.SaveOrUpdate(new[] { new ThumbnailOption() { Id = "NewOptionId", Name = "New Option name" } }); Assert.Contains(optionEntities, x => x.Id == "NewOptionId"); }
public void SaveChanges_ArrayOfThumbnailOptions_ThumbnailOptionsUpdated() { var optionEntities = ThumbnailOptionEntitesDataSource.ToArray(); var options = ThumbnailOptionDataSource.ToArray(); var mock = new Mock <IThumbnailRepository>(); mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object); mock.Setup(r => r.GetThumbnailOptionsByIds(It.IsAny <string[]>())) .Returns((string[] ids) => { var result = optionEntities.Where(t => ids.Contains(t.Id)).ToArray(); return(result); }); var sut = new ThumbnailOptionService(() => mock.Object); sut.SaveOrUpdate(options); Assert.Contains(optionEntities, o => o.Name == "New Name"); }