public void ParsesTicketFromJson()
        {
            var ticketJson = new
            {
                ticket = new { subject = "a subject", status = "open" },
            };
            var commentsJson = new
            {
                comments = new[] { new { author_id = 3, body = "a comment" } },
                count    = 1,
            };
            var userJson = new
            {
                user = new { name = "bryke", photo = new { thumbnails = new[] { new { content_url = "korra" } } } },
            };

            var api = new Mock <IZendeskApi>();

            api.Setup(x => x.Ticket("1")).ReturnsAsync(FromJson(ticketJson));
            api.Setup(x => x.Comments("1")).ReturnsAsync(FromJson(commentsJson));
            api.Setup(x => x.User("3")).ReturnsAsync(FromJson(userJson));

            var ticket = new ZendeskTicketApi(api.Object).FromId("1").Result;

            Assert.AreEqual("1", ticket.Id);
            Assert.AreEqual("a subject", ticket.Description);
            Assert.AreEqual("open", ticket.Status);
            Assert.AreEqual("a comment", ticket.Comments.Single().Text);
            Assert.AreEqual("bryke", ticket.Comments.Single().Author);
            Assert.AreEqual("korra", ticket.Comments.Single().Avatar);
        }
Beispiel #2
0
        public void CanCreateZendeskApiAndFetchIssue()
        {
            var api    = new ZendeskTicketApi(ZendeskApi.Create(m_Configuration.Get("redgate-id")));
            var ticket = api.FromId("34182").Result;

            Assert.AreEqual("SQL Packager 8 crash", ticket.Description);
            var comment = ticket.Comments.ElementAt(1);

            Assert.NotNull(comment.Author);
            Assert.NotNull(comment.Avatar);
            Trace.WriteLine(comment.Author);
            Trace.WriteLine(comment.Avatar);
        }