public void GetQueryBooliBaseSearchOptionAttribute() { var searchOption = new ListedSearchOption(); var exception = Assert.Throws <ArgumentException>(() => QueryHelper.GetQuery(searchOption)); Assert.Null(exception.ParamName); Assert.Equal("Make sure to always specify a value for at least one of the following properties; Query", exception.Message); }
public void GetQuerySerializeDependencyAttribute() { var searchOption = new ListedSearchOption { Query = "nacka", Dimension = new Dimension(1, 1) }; var exception = Assert.Throws <ArgumentException>(() => QueryHelper.GetQuery(searchOption)); Assert.Null(exception.ParamName); Assert.Equal("'Center' can't be null since it is dependent by 'Dimension'", exception.Message); }
public void GetListedList() { const string absoluteUrl = "https://api.booli.se/listings?q=nacka"; var sut = SetUpTest(absoluteUrl, JsonFile.ListingsMultiple); var searchOption = new ListedSearchOption { Query = TestConstants.Query }; var actual = sut.GetListed(searchOption); VerifyRequest(); Assert.NotNull(actual); Assert.Equal(5, actual.Result.Count()); Assert.Equal(2347066, actual.Result.First().BooliId); }
public void GetQuery() { var searchOption = new ListedSearchOption { Center = new Position(57, 12), Dimension = new Dimension(1, 1), ObjectTypes = new[] { ObjectType.Lägenhet, ObjectType.Villa }, Query = "nacka" }; var actual = QueryHelper.GetQuery(searchOption); Assert.Contains(new KeyValuePair <string, string>("objectTypes", "lägenhet,villa"), actual); Assert.Contains(new KeyValuePair <string, string>("dim", "1,1"), actual); Assert.Contains(new KeyValuePair <string, string>("center", "57,12"), actual); Assert.Contains(new KeyValuePair <string, string>("q", "nacka"), actual); }
public async Task GetAsyncMultiple() { const string absoluteUrl = "https://api.booli.se/listings?q=nacka"; var(mockNetworkService, mockHttpMessageHandler) = NetworkHelper.SetUpNetworkServiceMock(absoluteUrl, JsonFile.ListingsMultiple); var sut = GetBaseService(); sut.NetworkService = mockNetworkService.Object; var searchOption = new ListedSearchOption { Query = "nacka" }; var actual = await sut.GetAsync <ListedObject, ListedSearchOption>("listings", searchOption); mockHttpMessageHandler.VerifyRequest(absoluteUrl, HttpMethod.Get); Assert.NotNull(actual); Assert.Equal(849, actual.TotalCount); Assert.Equal(5, actual.Count); Assert.Equal(5, actual.Limit); Assert.Equal(0, actual.Offset); Assert.Equal(new[] { 76 }, actual.SearchParameters.AreaId); Assert.Contains(76, actual.SearchParameters.AreaId); }
public async Task <IActionResult> Get(ListedSearchOption searchOption) { return(Ok(await _booliService.GetListedAsync(searchOption))); }
/// <inheritdoc /> public BooliResult <ListedObject, ListedSearchOption> GetListed(ListedSearchOption searchOptions) { return(GetListedAsync(searchOptions).GetAwaiter().GetResult()); }
/// <inheritdoc /> public async Task <BooliResult <ListedObject, ListedSearchOption> > GetListedAsync(ListedSearchOption searchOptions) { return(await BaseService.GetAsync <ListedObject, ListedSearchOption>("listings", searchOptions)); }