public async Task 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.GetThumbnailOptionsByIdsAsync(It.IsAny <string[]>()).Result) .Returns((string[] ids) => { return(optionEntities.Where(t => ids.Contains(t.Id)).ToArray()); }); var sut = new ThumbnailOptionService(() => mock.Object); await sut.SaveOrUpdateAsync(new[] { new ThumbnailOption() { Id = "NewOptionId", Name = "New Option name" } }); Assert.Contains(optionEntities, x => x.Id == "NewOptionId"); }
public void Delete_ThumbnailOptionIds_DeletedThumbnailOptionWithPassedIds() { var optionEntites = ThumbnailOptionEntitesDataSource.ToList(); var ids = optionEntites.Select(t => t.Id).ToArray(); var mock = new Mock <IThumbnailRepository>(); mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object); mock.Setup(r => r.RemoveThumbnailOptionsByIds(It.IsIn <string[]>(ids))) .Callback((string[] arr) => { var entities = optionEntites.Where(e => arr.Contains(e.Id)).ToList(); foreach (var entity in entities) { optionEntites.Remove(entity); } }); var sut = new ThumbnailOptionService(() => mock.Object); sut.RemoveByIdsAsync(ids); Assert.Empty(optionEntites); }
public void Search_ThumbnailOptionSearchCriteria_ReturnsGenericSearchResponseOfTasksInExpectedOrder() { var repoMock = GetOptionsRepositoryMock(); var optionsService = new ThumbnailOptionService(() => repoMock.Object); var target = new ThumbnailOptionSearchService(() => repoMock.Object, optionsService); var criteria = new ThumbnailOptionSearchCriteria { Sort = "Name:desc;FileSuffix:desc" }; var resultTasks = target.SearchAsync(criteria).GetAwaiter().GetResult(); var expectedTasks = ThumbnailTaskEntitiesDataSource.Select(x => x.ToModel(new ThumbnailOption())).OrderByDescending(t => t.Name).ThenByDescending(t => t.FileSuffix).ToArray(); Assert.Equal(expectedTasks, resultTasks.Results); }
public void GetByIds_ArrayOfIdis_ReturnsArrayOfThumbnailOption() { var optionEntites = ThumbnailOptionEntitesDataSource.ToArray(); var ids = optionEntites.Select(t => t.Id).ToArray(); var tasks = optionEntites.Select(t => t.ToModel(new ThumbnailOption())).ToArray(); var mock = new Mock <IThumbnailRepository>(); mock.Setup(r => r.GetThumbnailOptionsByIdsAsync(It.IsIn <string[]>(ids))) .ReturnsAsync(optionEntites.Where(o => ids.Contains(o.Id)).ToArray()); var sut = new ThumbnailOptionService(() => mock.Object); var result = sut.GetByIdsAsync(ids); Assert.Equal(result.Result.Length, tasks.Length); }
public async Task SaveChanges_ArrayOfThumbnailOptions_ThumbnailOptionsUpdatedAsync() { 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.GetThumbnailOptionsByIdsAsync(It.IsAny <string[]>()).Result) .Returns((string[] ids) => { var result = optionEntities.Where(t => ids.Contains(t.Id)).ToArray(); return(result); }); var sut = new ThumbnailOptionService(() => mock.Object); await sut.SaveOrUpdateAsync(options); Assert.Contains(optionEntities, o => o.Name == "New Name"); }