Пример #1
0
        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__");
        }
Пример #2
0
        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());
     }
 }
Пример #4
0
        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();
            }
        }
Пример #6
0
        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);
        }
Пример #7
0
        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();
        }