public void Delete_ThumbnailOptionIds_DeletedThumbnailTasksWithPassedIds() { var taskEntities = ThumbnailTaskEntitysDataSource.ToList(); var ids = taskEntities.Select(t => t.Id).ToArray(); var mock = new Mock <IThumbnailRepository>(); mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object); mock.Setup(r => r.RemoveThumbnailTasksByIds(It.IsIn <string[]>(ids))).Callback( (string[] arr) => { var entities = taskEntities.Where(e => arr.Contains(e.Id)).ToList(); foreach (var entity in entities) { taskEntities.Remove(entity); } }); var sut = new ThumbnailTaskService(() => mock.Object); sut.RemoveByIds(ids); Assert.Empty(taskEntities); }
public void Search_ThumbnailOptionSearchCriteria_ReturnsGenericSearchResponseOfTasksInExpectedOrder() { var repoMock = GetTaskRepositoryMock(); var target = new ThumbnailTaskSearchService(() => repoMock.Object); var criteria = new ThumbnailTaskSearchCriteria { Sort = "Name:desc;WorkPath:desc" }; var resultTasks = target.SearchAsync(criteria); var expectedTasks = ThumbnailTaskEntitysDataSource.Select(x => x.ToModel(new ThumbnailTask())).OrderByDescending(t => t.Name).ThenByDescending(t => t.WorkPath).ToArray(); Assert.Equal(expectedTasks, resultTasks.Result.Results); }
public void Search_SearchByExistingKeyword_TasksFound() { var keyword = "NameLong"; var repoMock = GetTaskRepositoryMock(); var target = new ThumbnailTaskSearchService(() => repoMock.Object); var resultTasks = target.SearchAsync(new ThumbnailTaskSearchCriteria { Keyword = keyword }); var count = ThumbnailTaskEntitysDataSource.Count(x => x.Name.Contains(keyword)); Assert.Equal(resultTasks.Result.Results.Count(), count); }
public Mock <IThumbnailRepository> GetTaskRepositoryMock() { var entites = ThumbnailTaskEntitysDataSource.ToList(); var entitesQuerableMock = TestUtils.CreateQuerableMock(entites); var repoMock = new Mock <IThumbnailRepository>(); repoMock.Setup(x => x.ThumbnailTasks).Returns(entitesQuerableMock.Object); repoMock.Setup(x => x.GetThumbnailTasksByIdsAsync(It.IsAny <string[]>()).Result) .Returns((string[] ids) => { return(entitesQuerableMock.Object.Where(t => ids.Contains(t.Id)).ToArray()); }); return(repoMock); }
public Mock <IThumbnailRepository> GetOptionsRepositoryMock() { var entities = ThumbnailTaskEntitysDataSource.ToList(); var entitiesQueryableMock = entities.AsQueryable().BuildMock(); var repoMock = new Mock <IThumbnailRepository>(); repoMock.Setup(x => x.ThumbnailOptions).Returns(entitiesQueryableMock.Object); repoMock.Setup(x => x.GetThumbnailOptionsByIdsAsync(It.IsAny <string[]>())) .Returns((string[] ids) => { return(Task.FromResult(entitiesQueryableMock.Object.Where(t => ids.Contains(t.Id)).ToArray())); }); return(repoMock); }
public void GetByIds_ArrayOfIdis_ReturnsArrayOfThumbnailTasksWithPassedIds() { var taskEntities = ThumbnailTaskEntitysDataSource.ToArray(); var ids = taskEntities.Select(t => t.Id).ToArray(); var tasks = taskEntities.Select(t => t.ToModel(new ThumbnailTask())).ToArray(); var mock = new Mock <IThumbnailRepository>(); mock.SetupGet(x => x.UnitOfWork).Returns(new Mock <IUnitOfWork>().Object); mock.Setup(r => r.GetThumbnailTasksByIds(It.IsIn <string[]>(ids))) .Returns(taskEntities.Where(t => ids.Contains(t.Id)).ToArray()); var sut = new ThumbnailTaskService(() => mock.Object); var result = sut.GetByIds(ids); Assert.Equal(result, tasks); }