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); }
public void CredentialsDtoValidatorValid() { //Arrange var credentialsDto = new CredentialsDto { Email = "*****@*****.**", Password = "******" }; //Act var validationResult = new CredentialsDtoValidator().Validate(credentialsDto); //Assert Assert.Empty(validationResult.Errors); }
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); }
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)); }