public IActionResult ChangeEmail(UserToChangeEmail user) { try { _accountService.ChangeEmail(user); return(Ok(new { Success = true, Message = "Successfully changed email." })); } catch (ArgumentNullException argumentNullException) { return(BadRequest(new { Success = false, Error = argumentNullException.Message })); } catch (Exception exception) { return(new ObjectResult(new { Success = false, Error = exception.Message }) { StatusCode = StatusCodes.Status500InternalServerError }); } }
public void ChangeEmail_NullValue_Test() { var accountServiceMock = new Mock <IAccountService>(); var user = new UserToChangeEmail(); accountServiceMock.Setup(x => x.ChangeEmail(user)) .Throws <ArgumentNullException>(); var controller = new AccountController(accountServiceMock.Object); var actualResult = controller.ChangeEmail(user); var badRequestResult = (BadRequestObjectResult)actualResult; var asJson = JsonConvert.SerializeObject(badRequestResult.Value); var deserialized = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson); Assert.IsTrue((bool)deserialized["Success"] == false); accountServiceMock.VerifyAll(); }
public void ChangeEmail_Successfully_Test() { var accountServiceMock = new Mock <IAccountService>(); var user = new UserToChangeEmail(); accountServiceMock.Setup(x => x.ChangeEmail(user)); var controller = new AccountController(accountServiceMock.Object); var actualResult = controller.ChangeEmail(user); var okResult = (OkObjectResult)actualResult; var asJson = JsonConvert.SerializeObject(okResult.Value); var deserialized = JsonConvert.DeserializeObject <Dictionary <string, object> >(asJson); Assert.IsTrue((bool)deserialized["Success"]); accountServiceMock.VerifyAll(); }
/// <summary> /// Changes email using as parameter <see cref="UserToChangeEmail"/>. /// </summary> /// <param name="user">User for log in</param> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="InvalidOperationException"></exception> public void ChangeEmail(UserToChangeEmail user) { if (user == null) { throw new ArgumentNullException(nameof(user), "User can not be null."); } var query = @"UPDATE [User] SET [Email] = @email WHERE [Username] = @name"; using (SqlConnection connection = new SqlConnection(_connectionString)) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@name", user.Username); parameters.Add("@email", user.NewEmail); connection.QueryFirstOrDefault <UserToChangeEmail>(query, parameters); } }