public async Task Customer_update_adds_comment()
        {
            var db = MakeDbContext(nameof(Customer_update_adds_comment));
            var existingTicketId = await GivenExistingTicket(db);

            var updateCommand = new TicketCustomerUpdateCommand
            {
                Id          = existingTicketId,
                Comment     = $"Some New Comment {Guid.NewGuid()}",
                SubmitterId = $"test{Guid.NewGuid()}@example.com"
            };
            var handler = new TicketUpdateHandler(db);
            await handler.Handle(updateCommand, CancellationToken.None);

            var detailHandler  = new TicketDetailsHandler(db);
            var detailsRequest = new TicketDetailsRequest
            {
                Id = existingTicketId
            };
            var ticket = await detailHandler.Handle(detailsRequest, CancellationToken.None);

            ticket.Comments.Count.Should().Be(1);
            ticket.Comments[0].Text.Should().Be(updateCommand.Comment);
            ticket.Comments[0].SubmitterId.Should().Be(updateCommand.SubmitterId);
            ticket.Comments[0].DateEntered.Should().BeCloseTo(DateTime.UtcNow, TimeSpan.FromSeconds(5));
        }
        public async Task <IActionResult> Update(
            Guid id,
            TicketCustomerUpdateCommand command,
            CancellationToken cancellationToken)
        {
            if (id != command.Id)
            {
                command.Id = id;
            }

            command.SubmitterId = User.Identity?.Name;

            await _mediator.Send(command, cancellationToken);

            return(RedirectToAction(nameof(Details), new { id = command.Id }));
        }