private bool AreListsForExerciseTypesEqual(ListForExerciseListVm result, ListForExerciseListVm expectedResult) { return(AreListsEqual(result.ListExercisesForList, expectedResult.ListExercisesForList) && result.SearchString == expectedResult.SearchString && result.Count == expectedResult.Count && result.CurrentPage == expectedResult.CurrentPage && result.PageSize == expectedResult.PageSize); }
public ListForExerciseListVm GetAllExercises(int pageSize, int pageNo, string searchString) { var exercises = _exerciseRepo.GetAllExercises().Where(e => e.Name.StartsWith(searchString)) .ProjectTo <ExerciseForListVm>(_mapper.ConfigurationProvider).ToList(); var exercisesToShow = exercises.Skip(pageSize * (pageNo - 1)).Take(pageSize).ToList(); ListForExerciseListVm listForExercisesListVm = new ListForExerciseListVm { Count = exercises.Count(), CurrentPage = pageNo, PageSize = pageSize, SearchString = searchString, ListExercisesForList = exercisesToShow }; return(listForExercisesListVm); }
public void Should_GetAllExercises_ReturnCorrectList_WhenRepoProvidesCorrectExercises() { var exercises = new List <Exercise>() { new Exercise() { Id = 1, Name = "dummy 1", ExerciseTypeId = 1, ExerciseType = new ExerciseType() { Id = 1, Name = "dummy" } }, new Exercise() { Id = 2, Name = "dummy 2", ExerciseTypeId = 1, ExerciseType = new ExerciseType() { Id = 1, Name = "dummy" } }, new Exercise() { Id = 3, Name = "dummy 3", ExerciseTypeId = 1, ExerciseType = new ExerciseType() { Id = 2, Name = "dummy 2" } }, new Exercise() { Id = 4, Name = "dummy 4", ExerciseTypeId = 1, ExerciseType = new ExerciseType() { Id = 2, Name = "dummy 2" } } }; var expectedExerciseList = new List <ExerciseForListVm>() { new ExerciseForListVm() { Id = 1, Name = "dummy 1", ExerciseTypeName = "dummy" }, new ExerciseForListVm() { Id = 2, Name = "dummy 2", ExerciseTypeName = "dummy" }, new ExerciseForListVm() { Id = 3, Name = "dummy 3", ExerciseTypeName = "dummy 2" }, new ExerciseForListVm() { Id = 4, Name = "dummy 4", ExerciseTypeName = "dummy 2" } }; var expectedResult = new ListForExerciseListVm() { ListExercisesForList = expectedExerciseList, Count = 4, CurrentPage = 1, PageSize = 4, SearchString = "" }; var exercisesQuery = exercises.AsQueryable(); var exerciseRepo = new Mock <IExerciseRepository>(); var exerciseTypeRepo = new Mock <IExerciseTypeRepository>(); var mapper = new Mock <IMapper>(); exerciseRepo.Setup(r => r.GetAllExercises()).Returns(exercisesQuery); var objectUnderTest = new ExerciseService(exerciseRepo.Object, exerciseTypeRepo.Object, mapper.Object); var result = objectUnderTest.GetAllExercises(4, 1, string.Empty); Assert.True(AreListsForExerciseTypesEqual(result, expectedResult)); }