public static async Task Returns_updated_user_after_updating() { const string UserId = "User1"; var existingUser = CreateUser.With(userId: UserId); var mockUserRepository = new Mock <IUserRepository>(); mockUserRepository .Setup(r => r.GetUser(UserId)) .ReturnsAsync(existingUser); var request = new UserPatchRequest( "__NEW_ALTERNATIVE_REG__", 99.9m, "__NEW_FIRST_NAME__", "__NEW_LAST_NAME__", "__NEW_REG__"); var controller = new UsersController(mockUserRepository.Object); var result = await controller.PatchAsync(UserId, request); var resultValue = GetResultValue <SingleUserResponse>(result); Assert.NotNull(resultValue.User); CheckResult( resultValue.User, UserId, "__NEW_ALTERNATIVE_REG__", 99.9m, "__NEW_FIRST_NAME__", "__NEW_LAST_NAME__", "__NEW_REG__"); }
public ActionResult PatchUser([FromBody] UserPatchRequest request) { Message m = new Message(); try{ if (SampleData.Users[request.ID] == null) { m.result = "Requested user ID does not exist"; return(NotFound(m)); } else { // updates only address if address attribute provided in body if (request.Address != null) { SampleData.Users[request.ID].Address = request.Address; } // updates only phone if phone attribite provided in body if (request.Phone != 0) { SampleData.Users[request.ID].Phone = request.Phone; } m.result = "Patch Update Successful"; return(Ok(m)); } } catch { m.result = "invalid request"; return(BadRequest(m)); } }
public User Patch(User item, string userKey) { using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Ignore)) { UserPatchRequest request = new UserPatchRequest(connection.Item, item, userKey); return(request.ExecuteWithRetryOnBackoff()); } }
public async Task WhenAsync(MergePatchUserDto c) { var idObj = (c as IMergePatchUser).UserId; var uriParameters = new UserUriParameters(); uriParameters.Id = idObj; var req = new UserPatchRequest(uriParameters, (MergePatchUserDto)c); var resp = await _ramlClient.User.Patch(req); UserProxyUtils.ThrowOnHttpResponseError(resp); }
public void SetPassword(string id, string newPassword) { using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Ignore)) { User user = new User { Password = newPassword }; UserPatchRequest request = new UserPatchRequest(connection.Item, user, id); request.ExecuteWithRetryOnBackoff(); } }
public static async Task Returns_404_response_when_given_user_to_update_does_not_exist() { const string UserId = "User1"; var userRepository = CreateUserRepository.WithUser(UserId, null); var request = new UserPatchRequest( "__NEW_ALTERNATIVE_REG__", 99.9m, "__NEW_FIRST_NAME__", "__NEW_LAST_NAME__", "__NEW_REG__"); var controller = new UsersController(userRepository); var result = await controller.PatchAsync(UserId, request); Assert.IsType <NotFoundResult>(result); }
public static async Task Saves_combined_updated_editable_properties_and_existing_readonly_properties() { const string UserId = "User1"; var existingUser = CreateUser.With( userId: UserId, alternativeRegistrationNumber: "Z999ABC", commuteDistance: 12.3m, emailAddress: "*****@*****.**", firstName: "John", lastName: "Doe", registrationNumber: "AB12CDE", requestReminderEnabled: true, reservationReminderEnabled: false); var mockUserRepository = new Mock <IUserRepository>(); mockUserRepository .Setup(r => r.GetUser(UserId)) .ReturnsAsync(existingUser); var request = new UserPatchRequest( "__NEW_ALTERNATIVE_REG__", 99.9m, "__NEW_FIRST_NAME__", "__NEW_LAST_NAME__", "__NEW_REG__"); var controller = new UsersController(mockUserRepository.Object); await controller.PatchAsync(UserId, request); mockUserRepository.Verify(r => r.GetUser(UserId), Times.Once); mockUserRepository.Verify( r => r.SaveUser( It.Is <User>(u => u.UserId == UserId && u.AlternativeRegistrationNumber == "__NEW_ALTERNATIVE_REG__" && u.CommuteDistance == 99.9m && u.EmailAddress == "*****@*****.**" && u.FirstName == "__NEW_FIRST_NAME__" && u.LastName == "__NEW_LAST_NAME__" && u.RegistrationNumber == "__NEW_REG__" && u.RequestReminderEnabled == true && u.ReservationReminderEnabled == false)), Times.Once); mockUserRepository.VerifyNoOtherCalls(); }