diff --git a/src/ZendeskApi_v2/Models/Articles/Article.cs b/src/ZendeskApi_v2/Models/Articles/Article.cs index 55bd09da..b734eb21 100644 --- a/src/ZendeskApi_v2/Models/Articles/Article.cs +++ b/src/ZendeskApi_v2/Models/Articles/Article.cs @@ -64,6 +64,10 @@ public class Article [JsonConverter(typeof(IsoDateTimeConverter))] public DateTimeOffset CreatedAt { get; set; } + [JsonProperty("edited_at")] + [JsonConverter(typeof(IsoDateTimeConverter))] + public DateTimeOffset EditedAt { get; set; } + [JsonProperty("updated_at")] [JsonConverter(typeof(IsoDateTimeConverter))] public DateTimeOffset UpdatedAt { get; set; } diff --git a/src/ZendeskApi_v2/Models/Articles/Result.cs b/src/ZendeskApi_v2/Models/Articles/Result.cs index 55626bfd..5603d091 100644 --- a/src/ZendeskApi_v2/Models/Articles/Result.cs +++ b/src/ZendeskApi_v2/Models/Articles/Result.cs @@ -43,6 +43,9 @@ public class Result [JsonProperty("created_at")] public string CreatedAt { get; set; } + [JsonProperty("edited_at")] + public string EditedAt { get; set; } + [JsonProperty("updated_at")] public string UpdatedAt { get; set; } diff --git a/tests/ZendeskApi_v2.Tests/HelpCenter/ArticleTests.cs b/tests/ZendeskApi_v2.Tests/HelpCenter/ArticleTests.cs index 10eecf64..84d36ef8 100644 --- a/tests/ZendeskApi_v2.Tests/HelpCenter/ArticleTests.cs +++ b/tests/ZendeskApi_v2.Tests/HelpCenter/ArticleTests.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using System; +using System.Linq; using System.Threading.Tasks; using ZendeskApi_v2.Models.Articles; using ZendeskApi_v2.Requests.HelpCenter; @@ -220,5 +221,29 @@ public void CanSearchForArticles() Assert.That(resp.Count, Is.GreaterThan(0)); } + + [Test] + public void CanGetDateStringWhenSearchingArticle() + { + var response = Api.HelpCenter.Articles.GetArticle(_articleIdWithComments); + var expectedArticle = response.Article; + var searchRes = Api.HelpCenter.Articles.SearchArticlesFor("Test", createdBefore: DateTime.Now); + var resultArticle = searchRes.Results.First(res => res.Id == _articleIdWithComments); + + Assert.That(expectedArticle.CreatedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.CreatedAt)); + Assert.That(expectedArticle.EditedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.EditedAt)); + Assert.That(expectedArticle.UpdatedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.UpdatedAt)); + } + + [Test] + public void CanDeserializeDatesCorrectly() + { + var defaultDate = new DateTimeOffset(); + + var res = Api.HelpCenter.Articles.GetArticle(_articleIdWithComments); + Assert.That(res.Article.CreatedAt, Is.Not.EqualTo(defaultDate)); + Assert.That(res.Article.EditedAt, Is.Not.EqualTo(defaultDate)); + Assert.That(res.Article.UpdatedAt, Is.Not.EqualTo(defaultDate)); + } } }