Ejemplo n.º 1
0
        public bool AnswerInlineQuery(AnswerInlineQuery answer)
        {
            if (answer == null)
            {
                throw new ArgumentNullException(nameof(answer));
            }

            var request = Utils.GenerateRestRequest(Resources.Method_AnswerInlineQuery,
                                                    Method.POST,
                                                    new Dictionary <string, string>
            {
                { Resources.HttpContentType, Resources.HttpMultiPartFormData }
            }
                                                    ,
                                                    new Dictionary <string, object>
            {
                { Resources.Param_InlineQueryid, answer.InlineQueryId },
                { Resources.Param_Results, new RestRequest().JsonSerializer.Serialize(answer.Results) },
                { Resources.Param_CacheTime, answer.CacheTime },
                { Resources.Param_IsPersonal, answer.IsPersonal },
                { Resources.Param_NextOffset, answer.NextOffset }
            });

            return(_botClient.Execute <bool>(request).Data);
        }
Ejemplo n.º 2
0
        public void TestNestedValid()
        {
            var obj = new AnswerInlineQuery
            {
                Results = new[]
                {
                    new InlineQueryResultArticle
                    {
                        InputMessageContent =
                            new InputTextMessageContent()
                    }
                }
            };

            Assert.IsFalse(obj.IsValid());
            Assert.That(obj.Errors.Count, Is.EqualTo(4));
            var errors = obj.Errors.Select(x => x.GetMessage)
                         .ToList();

            CollectionAssert.Contains(errors, "(Results[0].InputMessageContent.MessageText): \"Field is not set, but required\"");
            CollectionAssert.Contains(errors, "(Results[0].Id): \"Field is not set, but required\"");
            CollectionAssert.Contains(errors, "(Results[0].Title): \"Field is not set, but required\"");
            CollectionAssert.Contains(errors, "(InlineQueryId): \"Field is not set, but required\"");
        }
 public static ValidationResult <AnswerInlineQuery> CreateValidation(this AnswerInlineQuery value) =>
 new ValidationResult <AnswerInlineQuery>(value).ValidateRequired(x => x.Results)
 .ValidateRequired(x => x.InlineQueryId);