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(); }
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())); }