public void CanCreateUpdateAndDeleteTicket()
{
var ticket = new Ticket()
{
Subject = "my printer is on fire",
Comment = new Comment() { Body = "HELP" },
Priority = TicketPriorities.Urgent
};
ticket.CustomFields = new List<CustomField>()
{
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 body = "got it thanks";
res.CustomFields[0].Value = "updated";
var updateResponse = api.Tickets.UpdateTicket(res, new Comment() { Body = body, Public = true, Uploads = new List<string>() });
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));
}