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);
        }
示例#2
0
        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);
        }