Beispiel #1
0
        public void ChangeTicketState_Ok()
        {
            // Arrange
            var user        = new Core.Domains.Ticket.User("17A3A82B-2907-43F6-9D25-7888962D432D", "username");
            var title       = "Unit test Ticket";
            var description = "A ticket to verify our business logic";
            var ticketType  = TicketType.Bug;
            var ticketPrio  = TicketPriority.Low;

            // Act
            var ticket = Core.Domains.Ticket.Ticket.CreateNewTicket(title, description, ticketType, ticketPrio, user);

            ticket.ChangeTicketState(TicketState.InProgress);

            // Assert
            Assert.AreEqual(title, ticket.Title);
            Assert.AreEqual(description, ticket.Description);
            Assert.AreEqual(ticketType, ticket.TicketType);
            Assert.AreEqual(ticketPrio, ticket.TicketPriority);
            Assert.AreEqual(user, ticket.User);
            Assert.IsNotNull(ticket.TicketState);
            Assert.AreEqual(TicketState.InProgress, ticket.TicketState.State);
            Assert.AreEqual(2, ticket.DomainEvents.Count);
            Assert.AreEqual(typeof(TicketRegisteredDomainEvent), ticket.DomainEvents.First().GetType());
            Assert.IsTrue(ticket.DomainEvents.Any(evt => evt.GetType() == typeof(TicketStateChangedDomainEvent)));
        }
Beispiel #2
0
        public async Task <RegisterTicketMediatorCommandResponse> Handle(RegisterTicketMediatorCommand request, CancellationToken cancellationToken)
        {
            var domainTicketUser = new Core.Domains.Ticket.User(request.UserId, request.UserName);
            var domainTicket     = Core.Domains.Ticket.Ticket.CreateNewTicket(request.Title, request.Description, request.TicketType, request.TicketPriority, domainTicketUser);

            var id = await _repository.SaveTicketAsync(domainTicket, cancellationToken);

            return(RegisterTicketMediatorCommandResponse.CreateResponse(id.ToString()));
        }