Skip to content

Commit 69a3bab

Browse files
authored
add requester and tags properties to request (#468)
1 parent d65381c commit 69a3bab

File tree

2 files changed

+72
-44
lines changed

2 files changed

+72
-44
lines changed

src/ZendeskApi_v2/Models/Requests/Request.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ public class Request
5252
[JsonProperty("requester_id")]
5353
public long? RequesterId { get; set; }
5454

55+
[JsonProperty("requester")]
56+
public Requester Requester { get; set; }
57+
5558
[JsonProperty("assignee_id")]
5659
public long AssigneeId { get; set; }
5760

@@ -108,5 +111,8 @@ public class Request
108111
/// </summary>
109112
[JsonProperty("comment")]
110113
public Comment Comment { get; set; }
114+
115+
[JsonProperty("tags")]
116+
public IList<string> Tags { get; set; }
111117
}
112118
}

test/ZendeskApi_v2.Test/RequestTests.cs

Lines changed: 66 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
using System;
2+
using System.Collections.Generic;
13
using NUnit.Framework;
24
using System.Linq;
35
using ZendeskApi_v2;
46
using ZendeskApi_v2.Models.Requests;
57
using ZendeskApi_v2.Models.Tickets;
8+
using ZendeskApi_v2.Models.Users;
69

710
namespace Tests
811
{
@@ -146,49 +149,68 @@ public void CanGetAllSolvedRequestsSorted()
146149
});
147150
}
148151

149-
//[Test]
150-
//[Ignore("")]
151-
//public void CanCreateAndUpdateRequests()
152-
//{
153-
// var req = new Request
154-
// {
155-
// Subject = "end user request test",
156-
// Type = RequestType.incident,
157-
// Comment = new Comment {Body = "end user test", HtmlBody = "end user test with </br> new line", Public = true}
158-
// };
159-
160-
// var res = _api.Requests.CreateRequest(req);
161-
// Assert.IsNotNull(res);
162-
// Assert.IsNotNull(res.Request);
163-
// Assert.IsTrue(res.Request.Id.HasValue);
164-
// Assert.That(res.Request.Type == RequestType.incident);
165-
// Assert.True(res.Request.Id.Value > 0);
166-
167-
// var res1 = _api.Requests.GetRequestById(res.Request.Id.Value);
168-
// Assert.AreEqual(res1.Request.Id, res.Request.Id);
169-
170-
// res1.Request.Subject = "new subject";
171-
// res1.Request.Comment = new Comment
172-
// {
173-
// Body = "something more to say",
174-
// Public = true
175-
// };
176-
177-
// var res2 = _api.Requests.UpdateRequest(res1.Request);
178-
// var res3 = _api.Requests.GetRequestCommentsById(res.Request.Id.Value);
179-
180-
// Assert.AreEqual(res3.Comments.Last().Body.Replace("\n", ""), "something more to say");
181-
182-
// var res4 = _api.Requests.GetSpecificRequestComment(res.Request.Id.Value, res3.Comments.Last().Id.Value);
183-
184-
// res1.Request.RequesterId = 56766413L;
185-
// var res5 = _api.Requests.UpdateRequest(res1.Request);
186-
// var res6 = _api.Requests.GetRequestById(res.Request.Id.Value);
187-
188-
// Assert.AreEqual(res5.Request.RequesterId, res6.Request.RequesterId);
189-
// Assert.AreEqual(res4.Comment.Id, res3.Comments.Last().Id);
190-
191-
// Assert.True(_api.Tickets.Delete(res1.Request.Id.Value));
192-
//}
152+
[Test]
153+
// [Ignore("")]
154+
public void CanCreateAndUpdateRequests()
155+
{
156+
var req = new Request
157+
{
158+
Subject = "end user request test",
159+
Type = RequestType.incident,
160+
Comment = new Comment
161+
{Body = "end user test", HtmlBody = "end user test with </br> new line", Public = true},
162+
Requester = new Requester
163+
{
164+
Name = "Test Name"
165+
},
166+
Tags = new List<string> {"tag1", "tag2"}
167+
};
168+
169+
var res = _api.Requests.CreateRequest(req);
170+
171+
try
172+
{
173+
Assert.IsNotNull(res);
174+
Assert.IsNotNull(res.Request);
175+
Assert.IsTrue(res.Request.Id.HasValue);
176+
Assert.That(res.Request.Type == RequestType.incident);
177+
Assert.True(res.Request.Id.Value > 0);
178+
179+
180+
IndividualUserResponse user = _api.Users.GetUser(res.Request.RequesterId.Value);
181+
Assert.AreEqual("Test Name", user.User.Name);
182+
183+
IndividualTicketResponse ticket = _api.Tickets.GetTicket(res.Request.Id.Value);
184+
CollectionAssert.AreEquivalent(new[] {"tag1", "tag2"}, ticket.Ticket.Tags);
185+
186+
var res1 = _api.Requests.GetRequestById(res.Request.Id.Value);
187+
Assert.AreEqual(res1.Request.Id, res.Request.Id);
188+
189+
res1.Request.Subject = "new subject";
190+
res1.Request.Comment = new Comment
191+
{
192+
Body = "something more to say",
193+
Public = true
194+
};
195+
196+
var res2 = _api.Requests.UpdateRequest(res1.Request);
197+
var res3 = _api.Requests.GetRequestCommentsById(res.Request.Id.Value);
198+
199+
Assert.AreEqual(res3.Comments.Last().Body.Replace("\n", ""), "something more to say");
200+
201+
var res4 = _api.Requests.GetSpecificRequestComment(res.Request.Id.Value, res3.Comments.Last().Id.Value);
202+
203+
res1.Request.RequesterId = 56766413L;
204+
var res5 = _api.Requests.UpdateRequest(res1.Request);
205+
var res6 = _api.Requests.GetRequestById(res.Request.Id.Value);
206+
207+
Assert.AreEqual(res5.Request.RequesterId, res6.Request.RequesterId);
208+
Assert.AreEqual(res4.Comment.Id, res3.Comments.Last().Id);
209+
}
210+
finally
211+
{
212+
Assert.True(_api.Tickets.Delete(res.Request.Id.Value));
213+
}
214+
}
193215
}
194216
}

0 commit comments

Comments
 (0)