public async Task Should_Deserialize_Send_Venue() { await _fixture.SendTestCaseNotificationAsync(FactTitles.ShouldDeserializeSendVenue); string json = $@"{{ chat_id: ""{_fixture.SupergroupChat.Id}"", latitude: 48.204296, longitude: 16.365514, title: ""Burggarten"", address: ""Opernring"", foursquare_id: ""4b7ff7c3f964a5208d4730e3"", foursquare_type: ""parks_outdoors/park"" }}"; SendVenueRequest request = JsonConvert.DeserializeObject <SendVenueRequest>(json); Message message = await BotClient.MakeRequestAsync(request); Assert.Equal(MessageType.Venue, message.Type); Assert.Equal("Burggarten", message.Venue.Title); Assert.Equal("Opernring", message.Venue.Address); Assert.Equal("4b7ff7c3f964a5208d4730e3", message.Venue.FoursquareId); Assert.Equal("parks_outdoors/park", message.Venue.FoursquareType); Assert.InRange(message.Venue.Location.Latitude, 48.204296 - 0.001f, 48.204296 + 0.001f); Assert.InRange(message.Venue.Location.Longitude, 16.365514 - 0.001f, 16.365514 + 0.001f); }
public static async Task <Message> SendVenueAsync(this Telegram telegram, SendVenueRequest sendLocationRequest) { var result = new Message(); var url = telegram.GetFullPathUrl("sendVenue"); var request = new ExternalRequest <ResponseAnswer <Message>, SendVenueRequest>() { Method = POST_METHOD, PostContentType = "application/json", PostContent = sendLocationRequest }; var response = await RequestSender.Execute(DataAccessMode.Server, request, url).ConfigureAwait(false); result = response.Result.Result; return(result); }