public async Task <IActionResult> EditProfile(ViewModel.EditProfile model) { model.ClearMessages(); if (ModelState.IsValid) { try { var result = await _service.UpdateUserProfileAsync(model.Email, model.Name); if (result) { model.SuccessMessage = "Profile updated successfully"; } else { model.ErrorMessage = "Error updating user profile"; } } catch (Exception ex) { _logger.LogError(ex, $"Error saving profile changes for {model.Email}"); model.ErrorMessage = "Error updating user profile"; } } return(View(model)); }
public async Task <IActionResult> EditProfile() { var loggedInUser = await _userProvider.GetLoggedInUserAsync(); var editProfile = new ViewModel.EditProfile { Name = loggedInUser.Name, Email = loggedInUser.Email }; return(View(editProfile)); }
public async Task AccountController_EditProfile_Unsuccessful() { var mockLogger = Mock.Of <ILogger <AccountController> >(); var mockUserProvider = Mock.Of <IUserProvider>(); var mockAccountService = new MockAccountService().MockUpdateUserProfileAsync(false); var accountController = new AccountController(mockUserProvider, mockAccountService.Object, mockLogger); var editProfileViewModel = new ViewModel.EditProfile { Name = "James Doe", Email = "*****@*****.**" }; var result = await accountController.EditProfile(editProfileViewModel); var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsType <ViewModel.EditProfile>(viewResult.ViewData.Model); Assert.IsType <ViewModel.EditProfile>(model); Assert.Equal("Error updating user profile", model.ErrorMessage); Assert.Equal("", model.SuccessMessage); }