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); }
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);