Skip to content

Commit 3a6f51f

Browse files
support edited_at metadata (#539)
* support edited_at metadata * Adding unit test for dates * Test for the Result object
1 parent 909b7bb commit 3a6f51f

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/ZendeskApi_v2/Models/Articles/Article.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ public class Article
6464
[JsonConverter(typeof(IsoDateTimeConverter))]
6565
public DateTimeOffset CreatedAt { get; set; }
6666

67+
[JsonProperty("edited_at")]
68+
[JsonConverter(typeof(IsoDateTimeConverter))]
69+
public DateTimeOffset EditedAt { get; set; }
70+
6771
[JsonProperty("updated_at")]
6872
[JsonConverter(typeof(IsoDateTimeConverter))]
6973
public DateTimeOffset UpdatedAt { get; set; }

src/ZendeskApi_v2/Models/Articles/Result.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ public class Result
4343
[JsonProperty("created_at")]
4444
public string CreatedAt { get; set; }
4545

46+
[JsonProperty("edited_at")]
47+
public string EditedAt { get; set; }
48+
4649
[JsonProperty("updated_at")]
4750
public string UpdatedAt { get; set; }
4851

tests/ZendeskApi_v2.Tests/HelpCenter/ArticleTests.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using NUnit.Framework;
22
using System;
3+
using System.Linq;
34
using System.Threading.Tasks;
45
using ZendeskApi_v2.Models.Articles;
56
using ZendeskApi_v2.Requests.HelpCenter;
@@ -220,5 +221,29 @@ public void CanSearchForArticles()
220221

221222
Assert.That(resp.Count, Is.GreaterThan(0));
222223
}
224+
225+
[Test]
226+
public void CanGetDateStringWhenSearchingArticle()
227+
{
228+
var response = Api.HelpCenter.Articles.GetArticle(_articleIdWithComments);
229+
var expectedArticle = response.Article;
230+
var searchRes = Api.HelpCenter.Articles.SearchArticlesFor("Test", createdBefore: DateTime.Now);
231+
var resultArticle = searchRes.Results.First(res => res.Id == _articleIdWithComments);
232+
233+
Assert.That(expectedArticle.CreatedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.CreatedAt));
234+
Assert.That(expectedArticle.EditedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.EditedAt));
235+
Assert.That(expectedArticle.UpdatedAt.ToString("yyyy-MM-ddTHH:mm:ssZ"), Is.EqualTo(resultArticle.UpdatedAt));
236+
}
237+
238+
[Test]
239+
public void CanDeserializeDatesCorrectly()
240+
{
241+
var defaultDate = new DateTimeOffset();
242+
243+
var res = Api.HelpCenter.Articles.GetArticle(_articleIdWithComments);
244+
Assert.That(res.Article.CreatedAt, Is.Not.EqualTo(defaultDate));
245+
Assert.That(res.Article.EditedAt, Is.Not.EqualTo(defaultDate));
246+
Assert.That(res.Article.UpdatedAt, Is.Not.EqualTo(defaultDate));
247+
}
223248
}
224249
}

0 commit comments

Comments
 (0)