コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        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);
        }