public void CreateDeleteTicketPosts() { DepartmentCollection depts = TestSetup.KayakoApiService.Departments.GetDepartments(); StaffUserCollection staff = TestSetup.KayakoApiService.Staff.GetStaffUsers(); StaffUser randomStaffUser = staff[new Random().Next(staff.Count)]; TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(depts.Select(d => d.Id).ToArray()); Ticket randomTicket = tickets[new Random().Next(tickets.Count)]; const string subject = "New Post Subject"; const string contents = "This will be the contents"; TicketPostRequest request = new TicketPostRequest() { TicketId = randomTicket.Id, Subject = subject, Contents = contents, StaffId = randomStaffUser.Id, IsPrivate = false }; TicketPost createdPost = TestSetup.KayakoApiService.Tickets.AddTicketPost(request); Assert.IsNotNull(createdPost); Assert.AreEqual(createdPost.StaffId, randomStaffUser.Id); //Assert.AreEqual(createdPost.Contents, String.Format("{0}\n{1}", contents, randomStaffUser.Signature)); //Subject? bool success = TestSetup.KayakoApiService.Tickets.DeleteTicketPost(randomTicket.Id, createdPost.Id); Assert.IsTrue(success); }
public void GetAllStaffUsers() { StaffUserCollection staffUsers = TestSetup.KayakoApiService.Staff.GetStaffUsers(); Assert.IsNotNull(staffUsers, "No staff users were returned"); Assert.IsNotEmpty(staffUsers, "No staff users were returned"); }
public void CreateDeleteTicketPosts() { DepartmentCollection depts = TestSetup.KayakoApiService.Departments.GetDepartments(); StaffUserCollection staff = TestSetup.KayakoApiService.Staff.GetStaffUsers(); StaffUser randomStaffUser = staff[new Random().Next(staff.Count)]; TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(depts.Select(d => d.Id).ToArray()); Ticket randomTicket = tickets[new Random().Next(tickets.Count)]; string contents = "This will be the contents"; TicketNoteRequest request = new TicketNoteRequest() { TicketId = randomTicket.Id, Content = contents, StaffId = randomStaffUser.Id, ForStaffId = randomStaffUser.Id, NoteColor = NoteColor.Purple }; TicketNote createdNote = TestSetup.KayakoApiService.Tickets.AddTicketNote(request); Assert.IsNotNull(createdNote); Assert.AreEqual(createdNote.Content, contents); Assert.AreEqual(createdNote.ForStaffId, randomStaffUser.Id); //Assert.AreEqual(createdNote.CreatorStaffId, randomStaffUser.Id); Assert.AreEqual(createdNote.NoteColor, NoteColor.Purple); Assert.AreEqual(createdNote.TicketId, randomTicket.Id); bool success = TestSetup.KayakoApiService.Tickets.DeleteTicketNote(randomTicket.Id, createdNote.Id); Assert.IsTrue(success); }
public void CreateDeleteTicketAttachment() { DepartmentCollection depts = TestSetup.KayakoApiService.Departments.GetDepartments(); StaffUserCollection staff = TestSetup.KayakoApiService.Staff.GetStaffUsers(); StaffUser randomStaffUser = staff[new Random().Next(staff.Count)]; TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(depts.Select(d => d.Id).ToArray()); Ticket randomTicket = tickets[new Random().Next(tickets.Count)]; TicketPostCollection ticketPosts = TestSetup.KayakoApiService.Tickets.GetTicketPosts(randomTicket.Id); TicketPost randomPost = ticketPosts[new Random().Next(ticketPosts.Count)]; string contents = Convert.ToBase64String(Encoding.UTF8.GetBytes("This is the file contents")); TicketAttachmentRequest request = new TicketAttachmentRequest() { TicketId = randomTicket.Id, TicketPostId = randomPost.Id, FileName = "TheFilename.txt", Contents = contents }; TicketAttachment createdAttachment = TestSetup.KayakoApiService.Tickets.AddTicketAttachment(request); Assert.AreEqual(createdAttachment.TicketId, randomTicket.Id); Assert.AreEqual(createdAttachment.TicketPostId, randomPost.Id); Assert.AreEqual(createdAttachment.FileName, "TheFilename.txt"); //Assert.AreEqual(createdAttachment.Contents, contents); bool success = TestSetup.KayakoApiService.Tickets.DeleteTicketAttachment(randomTicket.Id, createdAttachment.Id); Assert.IsTrue(success); }
/// <summary> /// Retrieve a staff identified by <paramref name="staffId"/> /// </summary> /// <param name="staffId">The numeric identifier of the staff.</param> /// <returns>The staff user.</returns> public StaffUser GetStaffUser(int staffId) { string apiMethod = String.Format("/Base/Staff/{0}", staffId); StaffUserCollection users = Connector.ExecuteGet <StaffUserCollection>(apiMethod); if (users != null && users.Count > 0) { return(users[0]); } return(null); }
/// <summary> /// Update the staff identified by <paramref name="staffUser"/> /// </summary> /// <remarks> /// http://wiki.kayako.com/display/DEV/REST+-+Staff#REST-Staff-PUT%2FBase%2FStaff%2F%24id%24 /// </remarks> /// <param name="staffUser">User to updated</param> /// <returns>Updated user.</returns> public StaffUser UpdateStaffUser(StaffUserRequest staffUser) { string apiMethod = String.Format("/Base/Staff/{0}", staffUser.Id); RequestBodyBuilder parameters = PopulateRequestParameters(staffUser, RequestTypes.Update); StaffUserCollection users = Connector.ExecutePut <StaffUserCollection>(apiMethod, parameters.ToString()); if (users.Count > 0) { return(users[0]); } return(null); }
/// <summary> /// Create a new Staff record /// </summary> /// <param name="staffUser">Data representing the new staff</param> /// <param name="password">The staff password </param> /// <returns></returns> public StaffUser CreateStaffUser(StaffUserRequest staffUser) { string apiMethod = "/Base/Staff/"; RequestBodyBuilder parameters = PopulateRequestParameters(staffUser, RequestTypes.Create); StaffUserCollection staff = Connector.ExecutePost <StaffUserCollection>(apiMethod, parameters.ToString()); if (staff != null && staff.Count > 0) { return(staff[0]); } return(null); }
public void GetStaffUser() { StaffUserCollection staffUsers = TestSetup.KayakoApiService.Staff.GetStaffUsers(); Assert.IsNotNull(staffUsers, "No staff users were returned"); Assert.IsNotEmpty(staffUsers, "No staff users were returned"); StaffUser staffUserToGet = staffUsers[new Random().Next(staffUsers.Count)]; Trace.WriteLine("GetStaffUser using staff user id: " + staffUserToGet.Id); StaffUser staffUser = TestSetup.KayakoApiService.Staff.GetStaffUser(staffUserToGet.Id); CompareStaffUsers(staffUser, staffUserToGet); }