mirror of
https://github.com/simple-login/app.git
synced 2025-10-06 13:26:51 +08:00
Clear new_email on verified email change (#2383)
This commit is contained in:
parent
e17ae4210b
commit
da93431df8
2 changed files with 21 additions and 0 deletions
|
@ -353,6 +353,7 @@ def request_mailbox_email_change(
|
||||||
check_email_for_mailbox(new_email, user)
|
check_email_for_mailbox(new_email, user)
|
||||||
if email_ownership_verified:
|
if email_ownership_verified:
|
||||||
mailbox.email = new_email
|
mailbox.email = new_email
|
||||||
|
mailbox.new_email = None
|
||||||
else:
|
else:
|
||||||
mailbox.new_email = new_email
|
mailbox.new_email = new_email
|
||||||
emit_user_audit_log(
|
emit_user_audit_log(
|
||||||
|
|
|
@ -621,3 +621,23 @@ def test_change_mailbox_email_duplicate_in_another_mailbox(flask_client):
|
||||||
request_mailbox_email_change(user, mbox1, mail3)
|
request_mailbox_email_change(user, mbox1, mail3)
|
||||||
with pytest.raises(mailbox_utils.MailboxError):
|
with pytest.raises(mailbox_utils.MailboxError):
|
||||||
request_mailbox_email_change(user, mbox2, mail3)
|
request_mailbox_email_change(user, mbox2, mail3)
|
||||||
|
|
||||||
|
|
||||||
|
def test_change_mailbox_verified_email_clears_pending_email(flask_client):
|
||||||
|
user = create_new_user()
|
||||||
|
domain = f"{random_string(10)}.com"
|
||||||
|
mail = f"mail_1@{domain}"
|
||||||
|
mbox1 = Mailbox.create(
|
||||||
|
email=mail,
|
||||||
|
new_email=f"oldpending_{mail}",
|
||||||
|
user_id=user.id,
|
||||||
|
verified=True,
|
||||||
|
flush=True,
|
||||||
|
)
|
||||||
|
new_email = f"new_{mail}"
|
||||||
|
out = request_mailbox_email_change(
|
||||||
|
user, mbox1, new_email, email_ownership_verified=True
|
||||||
|
)
|
||||||
|
assert out.activation is None
|
||||||
|
assert out.mailbox.email == new_email
|
||||||
|
assert out.mailbox.new_email is None
|
||||||
|
|
Loading…
Add table
Reference in a new issue