mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-05 22:48:27 +02:00
Resolve "Screening for signups"
This commit is contained in:
parent
e6df21b96c
commit
e313fcd033
49 changed files with 1759 additions and 49 deletions
|
@ -46,3 +46,77 @@ def test_report_created_signal_sends_email_to_mods(factories, mailoutbox, settin
|
|||
assert detail_url in m.body
|
||||
assert unresolved_reports_url in m.body
|
||||
assert list(m.to) == [mod.email]
|
||||
|
||||
|
||||
def test_signup_request_pending_sends_email_to_mods(factories, mailoutbox, settings):
|
||||
mod1 = factories["users.User"](permission_moderation=True)
|
||||
mod2 = factories["users.User"](permission_moderation=True)
|
||||
|
||||
signup_request = factories["moderation.UserRequest"](signup=True)
|
||||
|
||||
tasks.user_request_handle(user_request_id=signup_request.pk, new_status="pending")
|
||||
|
||||
detail_url = federation_utils.full_url(
|
||||
"/manage/moderation/requests/{}".format(signup_request.uuid)
|
||||
)
|
||||
unresolved_requests_url = federation_utils.full_url(
|
||||
"/manage/moderation/requests?q=status:pending"
|
||||
)
|
||||
assert len(mailoutbox) == 2
|
||||
for i, mod in enumerate([mod1, mod2]):
|
||||
m = mailoutbox[i]
|
||||
assert m.subject == "[{} moderation] New sign-up request from {}".format(
|
||||
settings.FUNKWHALE_HOSTNAME, signup_request.submitter.preferred_username,
|
||||
)
|
||||
assert detail_url in m.body
|
||||
assert unresolved_requests_url in m.body
|
||||
assert list(m.to) == [mod.email]
|
||||
|
||||
|
||||
def test_approved_request_sends_email_to_submitter_and_set_active(
|
||||
factories, mailoutbox, settings
|
||||
):
|
||||
user = factories["users.User"](is_active=False)
|
||||
actor = user.create_actor()
|
||||
signup_request = factories["moderation.UserRequest"](
|
||||
signup=True, submitter=actor, status="approved"
|
||||
)
|
||||
|
||||
tasks.user_request_handle(user_request_id=signup_request.pk, new_status="approved")
|
||||
|
||||
user.refresh_from_db()
|
||||
|
||||
assert user.is_active is True
|
||||
assert len(mailoutbox) == 1
|
||||
m = mailoutbox[-1]
|
||||
login_url = federation_utils.full_url("/login")
|
||||
assert m.subject == "Welcome to {}, {}!".format(
|
||||
settings.FUNKWHALE_HOSTNAME, signup_request.submitter.preferred_username,
|
||||
)
|
||||
assert login_url in m.body
|
||||
assert list(m.to) == [user.email]
|
||||
|
||||
|
||||
def test_refused_request_sends_email_to_submitter(
|
||||
factories, mailoutbox, settings, preferences
|
||||
):
|
||||
preferences["instance__contact_email"] = "test@pod.example"
|
||||
user = factories["users.User"](is_active=False)
|
||||
actor = user.create_actor()
|
||||
signup_request = factories["moderation.UserRequest"](
|
||||
signup=True, submitter=actor, status="refused"
|
||||
)
|
||||
|
||||
tasks.user_request_handle(user_request_id=signup_request.pk, new_status="refused")
|
||||
|
||||
user.refresh_from_db()
|
||||
|
||||
assert user.is_active is False
|
||||
|
||||
assert len(mailoutbox) == 1
|
||||
m = mailoutbox[-1]
|
||||
assert m.subject == "Your account request at {} was refused".format(
|
||||
settings.FUNKWHALE_HOSTNAME,
|
||||
)
|
||||
assert "test@pod.example" in m.body
|
||||
assert list(m.to) == [user.email]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue