Skip to content

Commit

Permalink
Add users.update_user() method
Browse files Browse the repository at this point in the history
  • Loading branch information
jonatascastro12 committed Aug 25, 2023
1 parent 25e5040 commit e9cc9f5
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
18 changes: 18 additions & 0 deletions tests/test_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,24 @@ def test_delete_user(self, capture_and_mock_request):
assert url[0].endswith("users/user_01H7ZGXFP5C6BBQY6Z7277ZCT0")
assert user is None

def test_update_user(self, mock_user, capture_and_mock_request):
url, request = capture_and_mock_request("put", mock_user, 200)

user = self.users.update_user(
"user_01H7ZGXFP5C6BBQY6Z7277ZCT0",
{
"first_name": "Marcelina",
"last_name": "Hoeger",
"email_verified": True,
},
)

assert url[0].endswith("users/user_01H7ZGXFP5C6BBQY6Z7277ZCT0")
assert user["id"] == "user_01H7ZGXFP5C6BBQY6Z7277ZCT0"
assert request["json"]["first_name"] == "Marcelina"
assert request["json"]["last_name"] == "Hoeger"
assert request["json"]["email_verified"] == True

def test_update_user_password(self, mock_user, capture_and_mock_request):
url, request = capture_and_mock_request("put", mock_user, 200)

Expand Down
22 changes: 22 additions & 0 deletions workos/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,28 @@ def delete_user(self, user):
token=workos.api_key,
)

def update_user(self, user, payload):
"""Update user attributes.
Args:
user (str) - The User unique identifier
payload (dict) - The User attributes to be updated
user[first_name] (string) - The user's first name.
user[last_name] (string) - The user's last name.
user[email_verified] (bool) - Whether the user's email address was previously verified.
Returns:
dict: Updated User response from WorkOS.
"""
response = self.request_helper.request(
USER_DETAIL_PATH.format(user),
method=REQUEST_METHOD_PUT,
params=payload,
token=workos.api_key,
)

return WorkOSUser.construct_from_response(response).to_dict()

def update_user_password(self, user, password):
"""Update user password.
Expand Down

0 comments on commit e9cc9f5

Please sign in to comment.