public async Task GetAllForPagination_OnInvoke_Returns_ResponseObject_WithCorrectPageTake()
        {
            int page = 2;
            int take = 10;

            var returnedCountries = _fixture.CreateMany <CountryForPagination>(25);

            _mockHttpMessageHandler.ResponseContent = JsonConvert.SerializeObject(returnedCountries);

            var expectedResponse = new CountryForPaginationResponse
            {
                Countries = returnedCountries.Skip((page - 1) * take).Take(take),
                Meta      = new PaginationMeta
                {
                    Page       = 2,
                    Take       = 10,
                    MaxPage    = 3,
                    TotalItems = 25
                }
            };

            var result = await _sut.GetAllForPagination(page, take);

            result.Should().BeEquivalentTo(expectedResponse);
        }
        public async Task GetAllForPagination_OnInvoke_Returns_ResponseObject_FromMemory()
        {
            int page = 1;
            int take = 10;

            var returnedCountries = _fixture.CreateMany <CountryForPagination>(2);

            _memoryCache.Set("COUNTRIES_CACHE_KEY", returnedCountries);

            var expectedResponse = new CountryForPaginationResponse
            {
                Countries = returnedCountries,
                Meta      = new PaginationMeta
                {
                    Page       = 1,
                    Take       = 10,
                    MaxPage    = 1,
                    TotalItems = 2
                }
            };

            var result = await _sut.GetAllForPagination(page, take);

            result.Should().BeEquivalentTo(expectedResponse);
        }