public async Task Sends_all_comments( [Frozen] FakeZendeskApi zendesk, [Frozen] Middleware.IApi middleware, Watcher sut, [Pending.HandedOff] Ticket ticket, Comment[] comments) { comments[0].Public = false; comments[1].Public = true; zendesk.Tickets.Add(ticket); zendesk.AddComments(ticket, comments); await sut.ShareTicket(ticket.Id); var expectedTicket = new { Ticket = new { Comments = comments.Select(x => new { x.Id, x.Body, }), } }; await middleware.Received().HandOffTicket( Verify.That <Middleware.EventWrapper>(x => x.Should().BeEquivalentTo(expectedTicket))); }
public async Task Sends_ticket_to_middleware_with_attachments( [Frozen] FakeZendeskApi zendesk, [Frozen] Middleware.IApi middleware, Watcher sut, [Pending.HandedOff] Ticket ticket, Comment[] comments) { // Given zendesk.Tickets.Add(ticket); zendesk.AddComments(ticket, comments); // When await sut.ShareTicket(ticket.Id); // Then var expected = new { Ticket = new { Comments = comments.Select(c => new { c.Id, Attachments = c.Attachments.Select(a => new { Filename = a.FileName, Url = a.ContentUrl, }), }), } }; await middleware.Received().HandOffTicket( Verify.That <Middleware.EventWrapper>( body => body.Should().BeEquivalentTo(expected))); }
public async Task Sends_ticket_to_middleware_with_no_comments( [Frozen] FakeZendeskApi zendesk, [Frozen] Middleware.IApi middleware, Watcher sut, [Pending.Solved] Ticket ticket, Comment[] comments) { // Given zendesk.Tickets.Add(ticket); zendesk.AddComments(ticket, comments); // When await sut.ShareTicket(ticket.Id); // Then var mwt = new { Ticket = new { Comments = Array.Empty <Middleware.Model.Comments>(), } }; await middleware.Received().SolveTicket( Verify.That <Middleware.EventWrapper>( body => body.Should().BeEquivalentTo(mwt))); }