app-MAIL-temp/tests/user_settings/test_set_default_mailbox.py

62 lines
1.5 KiB
Python
Raw Normal View History

from typing import Optional
import pytest
from app import mailbox_utils, user_settings, config
from app.db import Session
from app.models import User
2024-07-30 18:11:37 +02:00
from tests.utils import random_email, create_new_user
user: Optional[User] = None
def setup_module():
global user
config.SKIP_MX_LOOKUP_ON_CHECK = True
user = create_new_user()
user.trial_end = None
user.lifetime = True
Session.commit()
def teardown_module():
config.SKIP_MX_LOOKUP_ON_CHECK = False # noqa: F821
def test_set_default_mailbox():
other = create_new_user()
2024-08-05 11:52:15 +02:00
output = mailbox_utils.create_mailbox(
other,
random_email(),
use_digit_codes=True,
2024-08-01 17:18:51 +02:00
send_link=False,
)
2024-08-05 11:52:15 +02:00
output.mailbox.verified = True
Session.commit()
2024-08-05 11:52:15 +02:00
user_settings.set_default_mailbox(other, output.mailbox.id)
other = User.get(other.id)
2024-08-05 11:52:15 +02:00
assert other.default_mailbox_id == output.mailbox.id
def test_cannot_set_unverified():
2024-08-05 11:52:15 +02:00
output = mailbox_utils.create_mailbox(
user,
random_email(),
use_digit_codes=True,
2024-08-01 17:18:51 +02:00
send_link=False,
)
with pytest.raises(user_settings.CannotSetMailbox):
2024-08-05 11:52:15 +02:00
user_settings.set_default_mailbox(user, output.mailbox.id)
def test_cannot_default_other_user_mailbox():
other = create_new_user()
mailbox = mailbox_utils.create_mailbox(
other,
random_email(),
use_digit_codes=True,
2024-08-01 17:18:51 +02:00
send_link=False,
2024-08-02 17:57:54 +02:00
).mailbox
with pytest.raises(user_settings.CannotSetMailbox):
user_settings.set_default_mailbox(user, mailbox.id)