diff --git a/src/Tests/TicketTests.cs b/src/Tests/TicketTests.cs index c463aa30..71d93eac 100644 --- a/src/Tests/TicketTests.cs +++ b/src/Tests/TicketTests.cs @@ -404,6 +404,51 @@ public void CanCreateUpdateAndDeleteTicket() Assert.True(api.Tickets.Delete(res.Id.Value)); } + [Test] + public void CanCreateUpdateAndDeleteHTMLTicket() + { + var ticket = new Ticket() + { + Subject = "my printer is on fire", + Comment = new Comment() { HtmlBody = "HELP
HELP On a New line." }, + Priority = TicketPriorities.Urgent + }; + + ticket.CustomFields = new List() + { + new CustomField() + { + Id = Settings.CustomFieldId, + Value = "testing" + } + }; + + var res = api.Tickets.CreateTicket(ticket).Ticket; + + Assert.NotNull(res); + Assert.Greater(res.Id, 0); + + Assert.AreEqual(res.CreatedAt, res.UpdatedAt); + Assert.LessOrEqual(res.CreatedAt - DateTimeOffset.UtcNow, TimeSpan.FromMinutes(1.0)); + + res.Status = TicketStatus.Solved; + res.AssigneeId = Settings.UserId; + + res.CollaboratorIds.Add(Settings.CollaboratorId); + var htmlBody = "HELP
HELP On a New line."; + + res.CustomFields[0].Value = "updated"; + + var updateResponse = api.Tickets.UpdateTicket(res, new Comment() { HtmlBody = htmlBody, Public = true, Uploads = new List() }); + + Assert.NotNull(updateResponse); + //Assert.AreEqual(updateResponse.Audit.Events.First().Body, body); + Assert.Greater(updateResponse.Ticket.CollaboratorIds.Count, 0); + Assert.GreaterOrEqual(updateResponse.Ticket.UpdatedAt, updateResponse.Ticket.CreatedAt); + + Assert.True(api.Tickets.Delete(res.Id.Value)); + } + [Test] public void CanGetTicketComments() { @@ -411,6 +456,13 @@ public void CanGetTicketComments() Assert.IsNotEmpty(comments.Comments[1].Body); } + [Test] + public void CanGetTicketHTMLComments() + { + var comments = api.Tickets.GetTicketComments(2); + Assert.IsNotEmpty(comments.Comments[1].HtmlBody); + } + [Test] public void CanGetTicketCommentsWithSideLoading() { diff --git a/src/Tests/VoiceTests.cs b/src/Tests/VoiceTests.cs index 28d73704..6ce2bc07 100644 --- a/src/Tests/VoiceTests.cs +++ b/src/Tests/VoiceTests.cs @@ -64,7 +64,7 @@ public void GetAllAgentAvailability() var agent = res.AgentActivity.FirstOrDefault(); Assert.NotNull(agent); - Assert.AreEqual(2110053086, agent.AgentId); + Assert.AreEqual(281513402, agent.AgentId); } [Test] @@ -74,7 +74,7 @@ public void GetAllAgentAvailabilityAsync() var agent = res.Result.AgentActivity.FirstOrDefault(); Assert.NotNull(agent); - Assert.AreEqual(2110053086, agent.AgentId); + Assert.AreEqual(281513402, agent.AgentId); } [Test] diff --git a/src/ZendeskApi_v2/Models/Tickets/Comment.cs b/src/ZendeskApi_v2/Models/Tickets/Comment.cs index b274733c..86e5bd77 100644 --- a/src/ZendeskApi_v2/Models/Tickets/Comment.cs +++ b/src/ZendeskApi_v2/Models/Tickets/Comment.cs @@ -9,14 +9,26 @@ namespace ZendeskApi_v2.Models.Tickets public class Comment { [JsonProperty("id")] - public long? Id { get; set; } + public long? Id { get; } - [JsonProperty("public")] - public bool Public { get; set; } + [JsonProperty("type")] + public string Type { get; } [JsonProperty("body")] public string Body { get; set; } + [JsonProperty("html_body")] + public string HtmlBody { get; set; } + + [JsonProperty("plain_body")] + public string PlainBody { get; } + + [JsonProperty("public")] + public bool Public { get; set; } + + [JsonProperty("author_id")] + public long? AuthorId { get; set; } + /// /// Used for uploading attachments only /// When creating and updating tickets you may attach files by passing in an array of the tokens received from uploading the files. @@ -29,11 +41,6 @@ public class Comment /// /// Used only for getting ticket comments /// - [JsonProperty("author_id")] - public long? AuthorId { get; set; } - - [JsonProperty("html_body")] - public string HtmlBody { get; private set; } [JsonProperty("attachments")] public IList Attachments { get; private set; }