Skip to content

Commit

Permalink
add test case
Browse files Browse the repository at this point in the history
  • Loading branch information
erral committed Nov 4, 2024
1 parent e634169 commit 11dfad9
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions src/plone/restapi/tests/test_services_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -1436,3 +1436,56 @@ def test_siteadm_not_change_manager_email(self):
self.assertEqual(
"[email protected]", api.user.get(userid="manager").getProperty("email")
)

def test_user_email_change_login_with_email(self):
"""test that when login with email is enabled and the user changes their email
they can log in with the new email
"""
# enable use_email_as_login
security_settings = getAdapter(self.portal, ISecuritySchema)
security_settings.use_email_as_login = True
transaction.commit()
# Create a user
response = self.api_session.post(
"/@users",
json={
"email": "[email protected]",
"password": TEST_USER_PASSWORD,
},
)
transaction.commit()
anon_response = self.anon_api_session.post(
"/@login",
json={
"login": "[email protected]",
"password": TEST_USER_PASSWORD,
},
)
self.assertTrue(anon_response.ok)
auth_token = anon_response.json().get("token")

user_api_session = RelativeSession(self.portal_url, test=self)
user_api_session.headers.update({"Accept": "application/json"})
user_api_session.headers.update({"Authorization": f"Bearer {auth_token}"})

email_change_response = user_api_session.patch(
"/@users/[email protected]",
json={"email": "[email protected]"},
)
self.assertTrue(email_change_response.ok)
new_login_with_old_email_response = self.anon_api_session.post(
"/@login",
json={
"login": "[email protected]",
"password": TEST_USER_PASSWORD,
},
)
self.assertFalse(new_login_with_old_email_response.ok)
new_login_with_new_email_response = self.anon_api_session.post(
"/@login",
json={
"login": "[email protected]",
"password": TEST_USER_PASSWORD,
},
)
self.assertTrue(new_login_with_new_email_response.ok)

0 comments on commit 11dfad9

Please sign in to comment.