예제 #1
0
        public void Should_RepoGetAllExerciseTypes_ReturnEmptyList_WhenGetAllExerciseTypesCalledOnEmptyRepo()
        {
            List <ExerciseType> exerciseTypes = new List <ExerciseType>();

            var exerciseTypesQuery = exerciseTypes.AsQueryable();

            var mapper           = new Mock <IMapper>();
            var exerciseTypeRepo = new Mock <IExerciseTypeRepository>();

            exerciseTypeRepo.Setup(r => r.GetAllExerciseTypes()).Returns(exerciseTypesQuery);

            var expectedResult = new ListForExerciseTypeListVm()
            {
                ListForExerciseTypeList = new List <ExerciseTypeForListVm>(),
                PageSize     = 1,
                CurrentPage  = 1,
                SearchString = string.Empty,
                Count        = 0
            };

            var objectUnderTest = new ExerciseTypeService(exerciseTypeRepo.Object, mapper.Object);

            var result = objectUnderTest.GetAllExerciseTypes(1, 1, string.Empty);

            bool areListsEqual = AreListsForExerciseTypesEqual(result, expectedResult);

            Assert.True(areListsEqual);
        }
예제 #2
0
 private bool AreListsForExerciseTypesEqual(ListForExerciseTypeListVm result, ListForExerciseTypeListVm expectedResult)
 {
     return(AreListsEqual(result.ListForExerciseTypeList, expectedResult.ListForExerciseTypeList) &&
            result.SearchString == expectedResult.SearchString &&
            result.Count == expectedResult.Count &&
            result.CurrentPage == expectedResult.CurrentPage &&
            result.PageSize == expectedResult.PageSize);
 }
예제 #3
0
        public ListForExerciseTypeListVm GetAllExerciseTypes(int pageSize, int pageNo, string searchString)
        {
            var exerciseTypes = _exerciseTypeRepo.GetAllExerciseTypes().Where(et => et.Name.StartsWith(searchString))
                                .ProjectTo <ExerciseTypeForListVm>(_mapper.ConfigurationProvider).ToList();

            var exerciseTypesToShow        = exerciseTypes.Skip(pageSize * (pageNo - 1)).Take(pageSize).ToList();
            var listForExerciseTypesToShow = new List <ExerciseTypeForListVm>();

            ListForExerciseTypeListVm listForExerciseTypeListVm = new ListForExerciseTypeListVm()
            {
                ListForExerciseTypeList = exerciseTypesToShow,
                PageSize     = pageSize,
                CurrentPage  = pageNo,
                SearchString = searchString,
                Count        = exerciseTypes.Count()
            };

            return(listForExerciseTypeListVm);
        }
예제 #4
0
        public void Should_RepoGetAllExerciseTypes_ReturnOnlyFirstVm_WhenGetAllExerciseTypesCalledWithPageSizeOne()
        {
            List <Exercise> exercises = new List <Exercise>()
            {
                new Exercise()
                {
                    Id = 1, Name = "dummyExercise1", ExerciseTypeId = 1
                },
                new Exercise()
                {
                    Id = 2, Name = "dummyExercise2", ExerciseTypeId = 1
                }
            };

            List <ExerciseType> exerciseTypes = new List <ExerciseType>()
            {
                new ExerciseType()
                {
                    Id        = 1,
                    Name      = "dummy 1",
                    Exercises = exercises
                },
                new ExerciseType()
                {
                    Id        = 2,
                    Name      = "dummy 2",
                    Exercises = exercises
                },
                new ExerciseType()
                {
                    Id        = 3,
                    Name      = "dummy 3",
                    Exercises = exercises
                }
            };

            var exerciseTypesQuery = exerciseTypes.AsQueryable();

            var exerciseTypeRepo = new Mock <IExerciseTypeRepository>();
            var mapper           = new Mock <IMapper>();

            exerciseTypeRepo.Setup(r => r.GetAllExerciseTypes()).Returns(exerciseTypesQuery);

            var expectedResult = new ListForExerciseTypeListVm()
            {
                ListForExerciseTypeList = new List <ExerciseTypeForListVm>()
                {
                    new ExerciseTypeForListVm()
                    {
                        Id   = 1,
                        Name = "dummy 1",
                    },
                },
                PageSize     = 1,
                CurrentPage  = 1,
                SearchString = string.Empty,
                Count        = 3
            };

            var objectUnderTest = new ExerciseTypeService(exerciseTypeRepo.Object, mapper.Object);

            var result = objectUnderTest.GetAllExerciseTypes(1, 1, string.Empty);

            bool areListsEqual = AreListsForExerciseTypesEqual(result, expectedResult);

            Assert.True(areListsEqual);
        }