Exemplo n.º 1
0
        public async Task UpdateReadUser_Success()
        {
            // Arrange
            var request = UpdateReadUserCommand.CreateCommand("root", "olivier", "verplancke", "overplan", 0);

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

            // Assert
            A.CallTo(() =>
                     _repository.SaveOrUpdateUserAsync(A <ReadUserModel> .That.Matches(u =>
                                                                                       u.FirstName == request.FirstName && u.LastName == request.LastName &&
                                                                                       u.AggregateRootId == request.AggregateRootId), default)).MustHaveHappenedOnceExactly();
        }
Exemplo n.º 2
0
        public async Task <RegisterUserMediatorCommandResponse> Handle(RegisterUserMediatorCommand request, CancellationToken cancellationToken)
        {
            var scope = _mediatorFactory.CreateScope();

            var domainUser           = Core.Domains.User.User.CreateNewUser(request.UserName, request.FirstName, request.LastName);
            var hashedPasswordResult = await scope.SendAsync(GetHashedPasswordMediatorQuery.CreateQuery(request.Password), cancellationToken);

            domainUser.ChangePassword(hashedPasswordResult.HashedPassword, hashedPasswordResult.Salt);

            var id = await _repository.SaveUserAsync(domainUser, cancellationToken);

            await scope.SendAsync(UpdateReadUserCommand.CreateCommand(id.ToString(), request.FirstName, request.LastName, request.UserName, domainUser.Version), cancellationToken);

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