コード例 #1
0
        public async Task <Unit> Handle(UpdateReadTicketCommand request, CancellationToken cancellationToken)
        {
            var result = await _repository.SaveOrUpdateTicketAsync(
                ReadTicketModel.CreateModel(
                    request.AggregateRootId,
                    request.UserId,
                    request.UserName,
                    request.Title,
                    request.TicketState,
                    request.TicketPriority,
                    request.TicketType,
                    request.Version),
                cancellationToken);

            if (string.IsNullOrEmpty(result))
            {
                //we could not save or update the model - gracefully handle this.
            }
            return(Unit.Value);
        }
コード例 #2
0
        public async Task UpdateReadTicket_Success()
        {
            // Arrange
            var request = UpdateReadTicketCommand.CreateCommand("root", "376564a6-64f0-4485-a98b-dbc092c01cf4", "username", "title", TicketState.New,
                                                                TicketPriority.Low, TicketType.Bug, 1);

            // Act
            await _sut.Handle(request, default);

            // Assert
            A.CallTo(() =>
                     _repository.SaveOrUpdateTicketAsync(
                         A <ReadTicketModel> .That.Matches(u =>
                                                           u.AggregateRootId == request.AggregateRootId &&
                                                           u.UserId.ToString() == request.UserId &&
                                                           u.UserName == request.UserName &&
                                                           u.Title == request.Title &&
                                                           u.Version == request.Version &&
                                                           u.TicketPriority == request.TicketPriority &&
                                                           u.TicketState == request.TicketState &&
                                                           u.TicketType == request.TicketType
                                                           ), default))
            .MustHaveHappenedOnceExactly();
        }