示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        public ActionResult UpdateSettings(UpdateSettingsRequestModel request)
        {
            var response = SettingService.UpdateSettings(request);

            return(Json(response));
        }