Ejemplo n.º 1
0
        public async Task GetAllItemsAllPageSizesAllCurrPagesCorrectValid()
        {
            for (int pageSize = 1; pageSize <= _items.Count; pageSize++)
            {
                for (int currentPage = _items.Count; currentPage >= 1; currentPage--)
                {
                    // Arrange
                    var getPaginatedListDto = new GetPaginatedListDto()
                    {
                        CurrentPage = currentPage,
                        PageSize    = pageSize
                    };

                    //Act
                    var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

                    // Assert
                    Assert.True(testModelListDto.TotalPages == (int)Math.Ceiling((_items.Count) / (double)testModelListDto.PageSize));
                    if (testModelListDto.CurrentPage < testModelListDto.TotalPages)
                    {
                        Assert.True(testModelListDto.Items.Count == testModelListDto.PageSize);
                    }
                    else if (testModelListDto.CurrentPage > testModelListDto.TotalPages)
                    {
                        Assert.True(testModelListDto.Items.Count == 0);
                    }
                    else
                    {
                        Assert.True(testModelListDto.Items.Count == _items.Count -
                                    ((testModelListDto.TotalPages - 1) * testModelListDto.PageSize));
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public async Task GetAllItemsPageSize6CurrPage4CorrectValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto()
            {
                CurrentPage = 4,
                PageSize    = 6
            };

            //Act
            var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

            // Assert
            Assert.True(testModelListDto.TotalPages == 4);
            Assert.True(testModelListDto.Items.Count == 2);

            //Check with formula
            Assert.True(testModelListDto.TotalPages == (int)Math.Ceiling((_items.Count) / (double)testModelListDto.PageSize));
            if (testModelListDto.CurrentPage < testModelListDto.TotalPages)
            {
                Assert.True(testModelListDto.Items.Count == testModelListDto.PageSize);
            }
            else
            {
                Assert.True(testModelListDto.Items.Count == _items.Count - ((testModelListDto.TotalPages - 1) * testModelListDto.PageSize));
            }
            Assert.True(testModelListDto.IsFirst == false);
            Assert.True(testModelListDto.IsLast == true);
        }
Ejemplo n.º 3
0
        public async Task GetAllItemsPageSize0EmptyListCorrectValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto()
            {
                CurrentPage = 1,
                PageSize    = 0
            };

            _settings.Value.PageSize = 0;

            _context.RemoveRange(_items);
            _context.SaveChanges();

            //Act
            var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

            // Assert
            Assert.True(testModelListDto.CurrentPage == 1);
            Assert.True(testModelListDto.PageSize == _settings.Value.PageSize);
            Assert.True(testModelListDto.TotalItems == 0);
            Assert.True(testModelListDto.TotalPages == 0);
            Assert.True(testModelListDto.IsFirst == true);
            Assert.True(testModelListDto.IsLast == true);
        }
Ejemplo n.º 4
0
        private async Task <TestModelListDto> GetAllItemsFilteredAsync(GetPaginatedListDto getPaginatedListDto)
        {
            var testModels = await PaginatedList <TestModel>
                             .FromIQueryable(GetAllItemsAsync(getPaginatedListDto.Filter),
                                             getPaginatedListDto.CurrentPage,
                                             getPaginatedListDto.PageSize == 0?_settings.Value.PageSize : getPaginatedListDto.PageSize);

            var testModelListDto = new TestModelListDto(testModels);

            return(testModelListDto);
        }
Ejemplo n.º 5
0
        public void GetPaginatedListDtoValidatorEmptyCorrectIsValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto
            {
            };

            //Act
            var validationResult = new GetPaginatedListDtoValidator().Validate(getPaginatedListDto);

            // Assert
            Assert.Empty(validationResult.Errors);
        }
Ejemplo n.º 6
0
        public async Task GetAllItemsEmptyDtoCorrectValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto()
            {
            };

            //Act
            var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

            // Assert
            Assert.True(testModelListDto.CurrentPage == 1);
            Assert.True(testModelListDto.PageSize == _settings.Value.PageSize);
            Assert.True(testModelListDto.TotalItems == _items.Count);
            Assert.True(testModelListDto.IsFirst == true);
            Assert.True(testModelListDto.IsLast == true);
        }
Ejemplo n.º 7
0
        public async Task GetAllItemsCorrectValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto()
            {
                CurrentPage = 1,
                PageSize    = 10
            };

            //Act
            var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

            // Assert
            Assert.True(testModelListDto.CurrentPage == getPaginatedListDto.CurrentPage);
            Assert.True(testModelListDto.PageSize == getPaginatedListDto.PageSize);
            Assert.True(testModelListDto.TotalItems == _items.Count);
        }
Ejemplo n.º 8
0
        public void GetPaginatedListDtoValidatorIncorrectIsNotValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto
            {
                CurrentPage = -1,
                PageSize    = -2
            };

            //Act
            var validationResult = new GetPaginatedListDtoValidator().Validate(getPaginatedListDto);

            // Assert
            Assert.True(validationResult.Errors.Count == 2);
            Assert.True(validationResult.Errors.Count(x => x.PropertyName == "CurrentPage") == 1);
            Assert.True(validationResult.Errors.Count(x => x.PropertyName == "PageSize") == 1);
        }
Ejemplo n.º 9
0
        public async Task GetAllItemsFilteredCorrectValid()
        {
            // Arrange
            var getPaginatedListDto = new GetPaginatedListDto()
            {
                Filter      = "test",
                CurrentPage = 1,
                PageSize    = 10
            };

            //Act
            var testModelListDto = await GetAllItemsFilteredAsync(getPaginatedListDto);

            // Assert
            Assert.True(testModelListDto.TotalItems == _testItemsCount);
            Assert.True(testModelListDto.TotalPages == 1);
            Assert.True(testModelListDto.IsFirst == true);
            Assert.True(testModelListDto.IsLast == true);
        }