public async Task <LoginUserResponseDto> ValidateUserAsync(UserLoginDto userLoginDto) { // Declaring a new dto object. var dto = new LoginUserResponseDto(); // Retreiving the user record that match with the parametered dto object attributes value. var dataUser = await _unitOfWork.Users.FirstOrDefaultAsync(x => x.UteId == userLoginDto.UteId && x.UteCliId == userLoginDto.UteCliId); // Returning null dto if no record found.s if (dataUser == null) { return(dto); } // Checking whether the password match the provided one. if (dataUser.UtePassword == userLoginDto.UtePassword) { // Setting empty string instead of null value. if (dataUser.UteRuolo == null) { dataUser.UteRuolo = ""; } // Initiaing the value into pre-declared dto object and then return to controller end. return(new LoginUserResponseDto() { UteAttivo = dataUser.UteAttivo, UteRuolo = dataUser.UteRuolo, UteId = dataUser.UteId, UteNome = dataUser.UteNome, Token = _cm.GenerateToken(dataUser), UteMail = dataUser.UteMail, userAuthList = (await _unitOfWork.Users.GetUtentiAbilitazioneListAsync(dataUser.UteId.ToString(), dataUser.UteCliId.ToString())).ToList() }); } else { return(dto); } }
public async Task LoginUserAsync_Should_Return_Correct_Result_If_No_Exceptions(LoginUserRequestDto loginUserRequestDto, UserModel userModel, string token, LoginUserResponseDto loginUserResponseDto) { _userService.GetAsync(loginUserRequestDto.Username, loginUserRequestDto.Password).Returns(userModel); _mapper.Map <LoginUserResponseDto>(userModel).Returns(loginUserResponseDto); _jwtTokenService.CreateToken(userModel).Returns(token); var result = await _userControllerInstance.LoginUserAsync(loginUserRequestDto); var response = result as OkObjectResult; Assert.NotNull(response); var responseObject = response.Value as LoginUserResponseDto; Assert.NotNull(responseObject); Assert.AreEqual(loginUserResponseDto.Username, responseObject.Username); Assert.AreEqual(token, responseObject.Token); }