Skip to content

Commit 16c8d9a

Browse files
committed
add locale to user
1 parent fcce7bc commit 16c8d9a

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

tests/test_user_management.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,7 @@ def test_get_user(self, mock_user, capture_and_mock_http_client_request):
414414
assert user.id == "user_01H7ZGXFP5C6BBQY6Z7277ZCT0"
415415
assert user.profile_picture_url == "https://example.com/profile-picture.jpg"
416416
assert user.last_sign_in_at == "2021-06-25T19:07:33.155Z"
417+
assert user.locale == "en-US"
417418

418419
def test_get_user_by_external_id(
419420
self, mock_user, capture_and_mock_http_client_request
@@ -434,6 +435,7 @@ def test_get_user_by_external_id(
434435
assert user.id == "user_01H7ZGXFP5C6BBQY6Z7277ZCT0"
435436
assert user.profile_picture_url == "https://example.com/profile-picture.jpg"
436437
assert user.last_sign_in_at == "2021-06-25T19:07:33.155Z"
438+
assert user.locale == "en-US"
437439
assert user.metadata == mock_user["metadata"]
438440

439441
def test_list_users_auto_pagination(
@@ -492,6 +494,27 @@ def test_update_user(self, mock_user, capture_and_mock_http_client_request):
492494
"password": "password",
493495
}
494496

497+
def test_update_user_with_locale(self, mock_user, capture_and_mock_http_client_request):
498+
request_kwargs = capture_and_mock_http_client_request(
499+
self.http_client, mock_user, 200
500+
)
501+
502+
params = {
503+
"first_name": "Marcelina",
504+
"locale": "fr-FR",
505+
}
506+
user = syncify(
507+
self.user_management.update_user(
508+
user_id="user_01H7ZGXFP5C6BBQY6Z7277ZCT0", **params
509+
)
510+
)
511+
512+
assert request_kwargs["url"].endswith("users/user_01H7ZGXFP5C6BBQY6Z7277ZCT0")
513+
assert user.id == "user_01H7ZGXFP5C6BBQY6Z7277ZCT0"
514+
assert request_kwargs["method"] == "put"
515+
assert request_kwargs["json"]["first_name"] == "Marcelina"
516+
assert request_kwargs["json"]["locale"] == "fr-FR"
517+
495518
def test_delete_user(self, capture_and_mock_http_client_request):
496519
request_kwargs = capture_and_mock_http_client_request(
497520
http_client=self.http_client, status_code=204

tests/utils/fixtures/mock_user.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ def __init__(self, id):
1515
email_verified=False,
1616
profile_picture_url="https://example.com/profile-picture.jpg",
1717
last_sign_in_at="2021-06-25T19:07:33.155Z",
18+
locale="en-US",
1819
created_at=now,
1920
updated_at=now,
2021
metadata={"key": "value"},

workos/types/user_management/user.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class User(WorkOSModel):
1515
email_verified: bool
1616
profile_picture_url: Optional[str] = None
1717
last_sign_in_at: Optional[str] = None
18+
locale: Optional[str] = None
1819
created_at: str
1920
updated_at: str
2021
external_id: Optional[str] = None

workos/user_management.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ def update_user(
216216
password_hash_type: Optional[PasswordHashType] = None,
217217
external_id: Optional[str] = None,
218218
metadata: Optional[Metadata] = None,
219+
locale: Optional[str] = None,
219220
) -> SyncOrAsync[User]:
220221
"""Update user attributes.
221222
@@ -228,6 +229,7 @@ def update_user(
228229
password (str): The password to set for the user. (Optional)
229230
password_hash (str): The hashed password to set for the user, used when migrating from another user store. Mutually exclusive with password. (Optional)
230231
password_hash_type (str): The algorithm originally used to hash the password, used when providing a password_hash. Valid values are 'bcrypt', `firebase-scrypt`, and `ssha`. (Optional)
232+
locale (str): The user's locale. (Optional)
231233
232234
Returns:
233235
User: Updated User response from WorkOS.
@@ -979,6 +981,7 @@ def update_user(
979981
password_hash_type: Optional[PasswordHashType] = None,
980982
external_id: Optional[str] = None,
981983
metadata: Optional[Metadata] = None,
984+
locale: Optional[str] = None,
982985
) -> User:
983986
json = {
984987
"first_name": first_name,
@@ -990,6 +993,7 @@ def update_user(
990993
"password_hash_type": password_hash_type,
991994
"external_id": external_id,
992995
"metadata": metadata,
996+
"locale": locale,
993997
}
994998

995999
response = self._http_client.request(
@@ -1617,6 +1621,7 @@ async def update_user(
16171621
password_hash_type: Optional[PasswordHashType] = None,
16181622
external_id: Optional[str] = None,
16191623
metadata: Optional[Metadata] = None,
1624+
locale: Optional[str] = None,
16201625
) -> User:
16211626
json = {
16221627
"first_name": first_name,
@@ -1628,6 +1633,7 @@ async def update_user(
16281633
"password_hash_type": password_hash_type,
16291634
"external_id": external_id,
16301635
"metadata": metadata,
1636+
"locale": locale,
16311637
}
16321638

16331639
response = await self._http_client.request(

0 commit comments

Comments
 (0)