public void TestUpdateSettings() { var USER = _helper.testUsers[0]; UserController userControllerTest = new UserController(); //Create test data model UpdateSettingsRequestModel model = new UpdateSettingsRequestModel() { Settings = new UserSettingsModel() { DefaultHandle = USER.DefaultHandle, Email = USER.Email }, Username = USER.Username }; //Pre-sanity check Assert.AreEqual(USER.DefaultHandle, model.Settings.DefaultHandle); Assert.AreEqual(USER.Email, model.Settings.Email); //Test update settings success model.Settings.DefaultHandle = ("UPDATED" + USER.DefaultHandle); model.Settings.Email = ("UPDATED" + USER.Email); var result = userControllerTest.UpdateSettings(model) as JsonResult; Assert.AreNotEqual(USER.DefaultHandle, ((UpdateSettingsResponseModel)result.Data).User.Settings.DefaultHandle); Assert.AreNotEqual(USER.Email, ((UpdateSettingsResponseModel)result.Data).User.Settings.Email); Assert.AreEqual(("UPDATED" + USER.DefaultHandle), ((UpdateSettingsResponseModel)result.Data).User.Settings.DefaultHandle); Assert.AreEqual(("UPDATED" + USER.Email), ((UpdateSettingsResponseModel)result.Data).User.Settings.Email); //Test non existing user fail model.Username = "******"; result = userControllerTest.UpdateSettings(model) as JsonResult; Assert.AreNotEqual(0, ((UpdateSettingsResponseModel)result.Data).SettingsErrors.Count); Assert.AreEqual("Username not found.", ((UpdateSettingsResponseModel)result.Data).SettingsErrors[0].ErrorMessage); }
public static UpdateSettingsResponseModel UpdateSettings(UpdateSettingsRequestModel request) { var response = new UpdateSettingsResponseModel(); var user = UserService.GetUser(request.Username); if (user == null) { response.SettingsErrors.Add(new ErrorModel("Username not found.")); return(response); } //database connection var db = new ChatLocoContext(); var updatedSettings = db.Settings.FirstOrDefault(x => x.UserId == user.Id); //get the settings entry from the database updatedSettings.DefaultHandle = request.Settings.DefaultHandle; //update the users default handle updatedSettings.Email = request.Settings.Email; //update the users email db.SaveChanges(); //Construct the UserSettingsResponseModel var userModel = new UserModel() { Id = user.Id, Username = user.Username }; userModel.Settings = new UserSettingsModel() { DefaultHandle = updatedSettings.DefaultHandle, Email = updatedSettings.Email }; response.User = userModel; return(response); }
public ActionResult UpdateSettings(UpdateSettingsRequestModel request) { var response = SettingService.UpdateSettings(request); return(Json(response)); }