Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }