Merge branch 'password-reset-fix-for-non-test-env' into 'develop'

Fix password reset for non-test env

See merge request pleroma/pleroma!1441
This commit is contained in:
kaniini 2019-07-17 18:09:31 +00:00
commit 348307ec19
5 changed files with 10 additions and 8 deletions

View file

@ -1826,10 +1826,10 @@ def password_reset(conn, params) do
|> json("")
else
{:error, "unknown user"} ->
put_status(conn, :not_found)
send_resp(conn, :not_found, "")
{:error, _} ->
put_status(conn, :bad_request)
send_resp(conn, :bad_request, "")
end
end

View file

@ -221,6 +221,8 @@ def password_reset(nickname_or_email) do
user
|> UserEmail.password_reset_email(token_record.token)
|> Mailer.deliver_async()
{:ok, :enqueued}
else
false ->
{:error, "bad user identifier"}

View file

@ -440,10 +440,10 @@ def password_reset(conn, params) do
json_response(conn, :no_content, "")
else
{:error, "unknown user"} ->
put_status(conn, :not_found)
send_resp(conn, :not_found, "")
{:error, _} ->
put_status(conn, :bad_request)
send_resp(conn, :bad_request, "")
end
end

View file

@ -3849,14 +3849,14 @@ test "it sends an email to user", %{user: user} do
test "it returns 404 when user is not found", %{conn: conn, user: user} do
conn = post(conn, "/auth/password?email=nonexisting_#{user.email}")
assert conn.status == 404
refute conn.resp_body
assert conn.resp_body == ""
end
test "it returns 400 when user is not local", %{conn: conn, user: user} do
{:ok, user} = Repo.update(Changeset.change(user, local: false))
conn = post(conn, "/auth/password?email=#{user.email}")
assert conn.status == 400
refute conn.resp_body
assert conn.resp_body == ""
end
end
end

View file

@ -1119,14 +1119,14 @@ test "it sends an email to user", %{user: user} do
test "it returns 404 when user is not found", %{conn: conn, user: user} do
conn = post(conn, "/api/account/password_reset?email=nonexisting_#{user.email}")
assert conn.status == 404
refute conn.resp_body
assert conn.resp_body == ""
end
test "it returns 400 when user is not local", %{conn: conn, user: user} do
{:ok, user} = Repo.update(Changeset.change(user, local: false))
conn = post(conn, "/api/account/password_reset?email=#{user.email}")
assert conn.status == 400
refute conn.resp_body
assert conn.resp_body == ""
end
end