Merge branch 'develop' into fix/signup-without-email
authorEgor Kislitsyn <egor@kislitsyn.com>
Mon, 2 Mar 2020 11:35:49 +0000 (15:35 +0400)
committerEgor Kislitsyn <egor@kislitsyn.com>
Mon, 2 Mar 2020 11:35:49 +0000 (15:35 +0400)
1  2 
CHANGELOG.md
lib/pleroma/user.ex
test/web/mastodon_api/controllers/account_controller_test.exs

diff --cc CHANGELOG.md
Simple merge
Simple merge
index ff7cb88d10234661848f6c6d6b3e58d92969dfc1,57d0f4416529805e80ecc8a1148709b0f7d33153..7f7d8cea383a11dab20ddfe5cd8713b4e793a622
@@@ -745,52 -697,6 +699,54 @@@ defmodule Pleroma.Web.MastodonAPI.Accou
        end)
      end
  
++    clear_config([:instance, :account_activation_required])
++
 +    test "returns bad_request if missing email params when :account_activation_required is enabled",
 +         %{conn: conn, valid_params: valid_params} do
 +      Pleroma.Config.put([:instance, :account_activation_required], true)
 +
 +      app_token = insert(:oauth_token, user: nil)
 +      conn = put_req_header(conn, "authorization", "Bearer " <> app_token.token)
 +
 +      res =
 +        conn
 +        |> Map.put(:remote_ip, {127, 0, 0, 5})
 +        |> post("/api/v1/accounts", Map.delete(valid_params, :email))
 +
 +      assert json_response(res, 400) == %{"error" => "Missing parameters"}
 +
 +      res =
 +        conn
 +        |> Map.put(:remote_ip, {127, 0, 0, 6})
 +        |> post("/api/v1/accounts", Map.put(valid_params, :email, ""))
 +
 +      assert json_response(res, 400) == %{"error" => "{\"email\":[\"can't be blank\"]}"}
 +    end
 +
 +    test "allow registration without an email", %{conn: conn, valid_params: valid_params} do
 +      app_token = insert(:oauth_token, user: nil)
 +      conn = put_req_header(conn, "authorization", "Bearer " <> app_token.token)
 +
 +      res =
 +        conn
 +        |> Map.put(:remote_ip, {127, 0, 0, 7})
 +        |> post("/api/v1/accounts", Map.delete(valid_params, :email))
 +
 +      assert json_response(res, 200)
 +    end
 +
 +    test "allow registration with an empty email", %{conn: conn, valid_params: valid_params} do
 +      app_token = insert(:oauth_token, user: nil)
 +      conn = put_req_header(conn, "authorization", "Bearer " <> app_token.token)
 +
 +      res =
 +        conn
 +        |> Map.put(:remote_ip, {127, 0, 0, 8})
 +        |> post("/api/v1/accounts", Map.put(valid_params, :email, ""))
 +
 +      assert json_response(res, 200)
 +    end
 +
      test "returns forbidden if token is invalid", %{conn: conn, valid_params: valid_params} do
        conn = put_req_header(conn, "authorization", "Bearer " <> "invalid-token")