public void GetQueryStringParametersTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input" }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var key = queryStringParameters.FirstOrDefault(x => x.Key == "key"); var keyExpected = request.Key; Assert.IsNotNull(key); Assert.AreEqual(keyExpected, key.Value); var input = queryStringParameters.FirstOrDefault(x => x.Key == "input"); var inputExpected = request.Input; Assert.IsNotNull(input); Assert.AreEqual(inputExpected, input.Value); var language = queryStringParameters.FirstOrDefault(x => x.Key == "language"); Assert.IsNotNull(language); Assert.AreEqual("en", language.Value); }
public IActionResult Query(string input) { if (string.IsNullOrEmpty(input)) { return(null); } var request = new PlacesAutoCompleteRequest(); request.Key = this.configuration.GetValue <string>("API:Google:Key").ToString(); request.Input = input; request.Types = new List <RestrictPlaceType>() { RestrictPlaceType.Cities }; request.Language = !Regex.IsMatch(input, @"\P{IsCyrillic}") ? Language.Bulgarian : Language.English; var uri = request.GetUri(); var parameterss = request.GetQueryStringParameters(); var response = GooglePlaces.AutoComplete.Query(request); if (string.IsNullOrEmpty(response.ErrorMessage)) { var predictions = response.Predictions.Select(p => p.Terms.FirstOrDefault()); return(Json(predictions.Select(p => p.Value).Distinct().ToArray())); } return(null); }
public void GetQueryStringParametersTest() { var request = new PlacesAutoCompleteRequest { Key = "abc", Input = "abc" }; Assert.DoesNotThrow(() => request.GetQueryStringParameters()); }
public void GetQueryStringParametersWhenKeyIsStringEmptyTest() { var request = new PlacesAutoCompleteRequest { Key = string.Empty }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "Key is required"); }
public void GetQueryStringParametersWhenInputIsNullTest() { var request = new PlacesAutoCompleteRequest { Key = "abc", Input = null }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "Input is required"); }
public void GetQueryStringParametersWhenRadiusIsGereaterThanFiftyThousandTest() { var request = new PlacesAutoCompleteRequest { Key = "abc", Input = "abc", Radius = 50001 }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "Radius must be greater than or equal to 1 and less than or equal to 50.000"); }
public void GetQueryStringParametersWhenRadiusIsZeroTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Radius = 0 }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.AreEqual(exception.Message, "'Radius' must be greater than or equal to 1 and less than or equal to 50.000"); }
public void GetQueryStringParametersWhenStrictBoundsTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Strictbounds = true }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var strictbounds = queryStringParameters.FirstOrDefault(x => x.Key == "strictbounds"); Assert.IsNotNull(strictbounds); Assert.Null(strictbounds.Value); }
public void GetQueryStringParametersWhenRadiusTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Radius = 100 }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var radius = queryStringParameters.FirstOrDefault(x => x.Key == "radius"); var radiusExpected = request.Radius.ToString(); Assert.IsNotNull(radius); Assert.AreEqual(radiusExpected, radius.Value); }
public void GetQueryStringParametersWhenOriginTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Location = new Coordinate(1, 1) }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var origin = queryStringParameters.FirstOrDefault(x => x.Key == "origin"); var originExpected = request.Origin; Assert.IsNotNull(origin); Assert.AreEqual(originExpected, origin.Value); }
public void PlacesQueryAutoCompleteWhenOffsetTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Offset = "offset" }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var offset = queryStringParameters.FirstOrDefault(x => x.Key == "offset"); var offsetExpected = request.Offset; Assert.IsNotNull(offset); Assert.AreEqual(offsetExpected, offset.Value); }
public void GetQueryStringParametersWhenComponentsTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Components = new[] { new KeyValuePair <Component, string>(Component.Country, "country"), new KeyValuePair <Component, string>(Component.Locality, "locality") } }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var components1 = queryStringParameters.FirstOrDefault(x => x.Key == "components"); var components1Expected = string.Join("|", request.Components.Select(x => $"{x.Key.ToString().ToLower()}:{x.Value}")); Assert.IsNotNull(components1); Assert.AreEqual(components1Expected, components1.Value); }
public void GetQueryStringParametersWhenTypesTest() { var request = new PlacesAutoCompleteRequest { Key = "key", Input = "input", Types = new[] { RestrictPlaceType.Address, RestrictPlaceType.Cities } }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var types1 = queryStringParameters.FirstOrDefault(x => x.Key == "types"); var types1Expected = string.Join("|", request.Types.Select(x => x == RestrictPlaceType.Cities || x == RestrictPlaceType.Regions ? $"({x.ToString().ToLower()})" : $"{x.ToString().ToLower()}")); Assert.IsNotNull(types1); Assert.AreEqual(types1Expected, types1.Value); }