Example #1
0
        public void FirstPageQueryToString_ReturnsCorrectQuery()
        {
            var fixture        = new Fixture();
            var type           = fixture.Create <string>();
            var path           = fixture.Create <string>();
            var pageSize       = fixture.Create <int>();
            var query          = new ListingFetcherQuery(type, path, pageSize);
            var expectedResult = $"?type={type}&zo={path}&pagesize={pageSize}";

            var result = query.FirstPageQueryToString();

            result.Should().BeEquivalentTo(expectedResult);
        }
Example #2
0
        public async Task Fetch_FirstPageFetchingFails_ReturnsFailure()
        {
            var fixture  = new Fixture();
            var type     = fixture.Create <string>();
            var path     = fixture.Create <string>();
            var pageSize = fixture.Create <int>();
            var agentCollectionResult = Result.Fail <AgentCollection>("");
            var responseMessage       = Result.Fail <HttpResponseMessage>("");
            var query       = new ListingFetcherQuery(type, path, pageSize);
            var queryString = query.FirstPageQueryToString();

            _jsonApiGetRequest.Setup(z => z.Execute(HttpClientNames.Funda, _apiKey, queryString)).ReturnsAsync(responseMessage);
            _httpResponseMessageJsonParser.Setup(z => z.Parse <AgentCollection>(responseMessage)).ReturnsAsync(agentCollectionResult);

            var result = await _listingFetcher.Fetch(query);

            _jsonApiGetRequest.Verify(z => z.Execute(HttpClientNames.Funda, _apiKey, queryString), Times.Once);
            _httpResponseMessageJsonParser.Verify(z => z.Parse <AgentCollection>(responseMessage), Times.Once);
            result.IsFailed.Should().BeTrue();
        }
 public async Task <Result <AgentCollection> > Fetch(ListingFetcherQuery query)
 {
     return(await Fetch(query.FirstPageQueryToString()));
 }