|
|
|
@ -625,6 +625,39 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
assert json_response(conn, :forbidden)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "email with +", %{conn: conn, admin: admin} do
|
|
|
|
|
recipient_email = "foo+bar@baz.com"
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> put_req_header("content-type", "application/json;charset=utf-8")
|
|
|
|
|
|> post("/api/pleroma/admin/users/email_invite", %{email: recipient_email})
|
|
|
|
|
|> json_response(:no_content)
|
|
|
|
|
|
|
|
|
|
token_record =
|
|
|
|
|
Pleroma.UserInviteToken
|
|
|
|
|
|> Repo.all()
|
|
|
|
|
|> List.last()
|
|
|
|
|
|
|
|
|
|
assert token_record
|
|
|
|
|
refute token_record.used
|
|
|
|
|
|
|
|
|
|
notify_email = Config.get([:instance, :notify_email])
|
|
|
|
|
instance_name = Config.get([:instance, :name])
|
|
|
|
|
|
|
|
|
|
email =
|
|
|
|
|
Pleroma.Emails.UserEmail.user_invitation_email(
|
|
|
|
|
admin,
|
|
|
|
|
token_record,
|
|
|
|
|
recipient_email
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
Swoosh.TestAssertions.assert_email_sent(
|
|
|
|
|
from: {instance_name, notify_email},
|
|
|
|
|
to: recipient_email,
|
|
|
|
|
html_body: email.html_body
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "POST /api/pleroma/admin/users/email_invite, with invalid config" do
|
|
|
|
@ -637,7 +670,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
conn = post(conn, "/api/pleroma/admin/users/email_invite?email=foo@bar.com&name=JD")
|
|
|
|
|
|
|
|
|
|
assert json_response(conn, :internal_server_error)
|
|
|
|
|
assert json_response(conn, :bad_request) ==
|
|
|
|
|
"To send invites you need to set the `invites_enabled` option to true."
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "it returns 500 if `registrations_open` is enabled", %{conn: conn} do
|
|
|
|
@ -646,7 +680,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|
|
|
|
|
|
|
|
|
conn = post(conn, "/api/pleroma/admin/users/email_invite?email=foo@bar.com&name=JD")
|
|
|
|
|
|
|
|
|
|
assert json_response(conn, :internal_server_error)
|
|
|
|
|
assert json_response(conn, :bad_request) ==
|
|
|
|
|
"To send invites you need to set the `registrations_open` option to false."
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|