Esempio n. 1
0
        public void CredentialsDtoValidatorEmptyEmailPasswordNotValid()
        {
            //Arrange
            var credentialsDto = new CredentialsDto {
            };

            //Act
            var validationResult = new CredentialsDtoValidator().Validate(credentialsDto);

            //Assert
            Assert.Equal(2, validationResult.Errors.Count);
            Assert.True(validationResult.Errors.Count(x => x.PropertyName == "Email") == 1);
            Assert.True(validationResult.Errors.Count(x => x.PropertyName == "Password") == 1);
        }
Esempio n. 2
0
        public void CredentialsDtoValidatorValid()
        {
            //Arrange
            var credentialsDto = new CredentialsDto
            {
                Email    = "*****@*****.**",
                Password = "******"
            };

            //Act
            var validationResult = new CredentialsDtoValidator().Validate(credentialsDto);

            //Assert
            Assert.Empty(validationResult.Errors);
        }
Esempio n. 3
0
        public void CredentialsDtoValidatorBadEmailFormatNotValid()
        {
            //Arrange
            var credentialsDto = new CredentialsDto
            {
                Email    = "not an Email",
                Password = "******"
            };

            //Act
            var validationResult = new CredentialsDtoValidator().Validate(credentialsDto);

            //Assert
            Assert.Single(validationResult.Errors);
            Assert.True(validationResult.Errors.Count(x => x.PropertyName == "Email") == 1);
        }
Esempio n. 4
0
        public async Task <IActionResult> LoginAsync(CredentialsDto credentialsDto)
        {
            var validationResult = new CredentialsDtoValidator().Validate(credentialsDto);

            if (!validationResult.IsValid)
            {
                return(UnprocessableEntity(new ExceptionMessage(validationResult.Errors.Select(x => x.ErrorMessage))));
            }

            var authenticatedDto = await _usersService.LoginAsync(credentialsDto);

            if (authenticatedDto == null)
            {
                return(BadRequest(new ExceptionMessage("The Email or Password is incorrect.")));
            }

            return(Ok(authenticatedDto));
        }