Ejemplo n.º 1
0
            public void HardCodedDefaultIs10()
            {
                // Arrange
                var expected = 10;
                var sut      = new PageSpecParams();

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 2
0
            public void DefaultPageNumberIs1()
            {
                // Arrange
                var expected = 1;
                var sut      = new PageSpecParams();

                // Act
                var actual = sut.PageNumber;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 3
0
        public async Task <Pagination <Job> > GetPagedJobsWithWeightedSkills(PageSpecParams pageParams)
        {
            var allJobs = await RetrieveAllJobsWithWeightedSkills();

            var count     = allJobs.Count;
            var pagedJobs = allJobs
                            .Skip(pageParams.Skip)
                            .Take(pageParams.Take)
                            .ToList();
            var pagination = new Pagination <Job>(
                pageParams.PageNumber, pageParams.PageSize, count, pagedJobs);

            return(pagination);
        }
Ejemplo n.º 4
0
            public void HardCodedMaxPageSizeIs50()
            {
                // Arrange
                var expected     = 50;
                var testPageSize = 200;
                var sut          = new PageSpecParams();

                sut.PageSize = testPageSize;

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 5
0
            public void PageNumberIsSetPageNumber()
            {
                // Arrange
                var testPageNumber = 3;
                var expected       = testPageNumber;
                var sut            = new PageSpecParams();

                sut.PageNumber = testPageNumber;

                // Act
                var actual = sut.PageNumber;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 6
0
            public void SkipForPage1IsZero()
            {
                // Arrange
                var expected   = 0;
                var testPageNr = 1;
                var sut        = new PageSpecParams();

                sut.PageNumber = testPageNr;

                // Act
                var actual = sut.Skip;

                // assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 7
0
            public void TakeValueIsConfiguredPageSize()
            {
                // Arrange
                var configMaxPageSize     = 60;
                var configDefaultPageSize = 20;
                var expected = configDefaultPageSize;
                var sut      = new PageSpecParams();

                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.Take;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 8
0
            public void ConfigurationDefaultPageSizeOverridesHardCodedValue()
            {
                // Arrange
                var configDefaultPageSize = 15;
                var configMaxPageSize     = 40;
                var expected = configDefaultPageSize;
                var sut      = new PageSpecParams();

                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 9
0
            public void SkipForPageNIsPageSizeTimesNMinus1()
            {
                // Arrange
                var testPageNr   = 5;
                var testPageSize = 15;
                var expected     = (testPageNr - 1) * testPageSize;
                var sut          = new PageSpecParams();

                sut.PageNumber = testPageNr;
                sut.PageSize   = testPageSize;

                // Act
                var actual = sut.Skip;

                // Asse
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 10
0
            public void SkipForPage2IsPageSize()
            {
                // Arrange
                var testPageNr   = 2;
                var testPageSize = 15;
                var expected     = testPageSize;
                var sut          = new PageSpecParams();

                sut.PageNumber = testPageNr;
                sut.PageSize   = testPageSize;

                // Act
                var actual = sut.Skip;

                // Asse
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 11
0
            public void SetPageSizeCanNotOverridesConfigurationMaxPageSize()
            {
                // Arrange
                var testPageSize          = 45;
                var configDefaultPageSize = 15;
                var configMaxPageSize     = 40;
                var expected = configMaxPageSize;
                var sut      = new PageSpecParams();

                sut.PageSize = testPageSize;
                sut.ApplyConfigurationDefaults(configMaxPageSize, configDefaultPageSize);

                // Act
                var actual = sut.PageSize;

                // Assert
                Assert.AreEqual(expected, actual);
            }
Ejemplo n.º 12
0
        protected void SetConfiguredPageDefaults(PageSpecParams pageParams)
        {
            if (_config == null)
            {
                return;
            }

            if (!int.TryParse(_config["Pagination:MaxPageSize"], out int maxPageSize))
            {
                maxPageSize = 50;
            }

            if (!int.TryParse(_config["Pagination:DefaultPageSize"], out int defaultPageSize))
            {
                defaultPageSize = 10;
            }

            pageParams.ApplyConfigurationDefaults(maxPageSize, defaultPageSize);
        }
Ejemplo n.º 13
0
        public async Task <ActionResult <Pagination <Candidate> > > GetPagedCandidatesWithWeightedSkills([FromQuery] PageSpecParams pageParams)
        {
            SetConfiguredPageDefaults(pageParams);
            var paginated = await _candidateService.GetPagedCandidatesWithWeightedSkills(pageParams);

            return(Ok(paginated));
        }