diff options
| author | Egor Kislitsyn <egor@kislitsyn.com> | 2020-02-27 17:27:49 +0400 | 
|---|---|---|
| committer | Egor Kislitsyn <egor@kislitsyn.com> | 2020-02-27 17:27:49 +0400 | 
| commit | cb60a9c42f48f0b9df1681f9cba229b21eb6095c (patch) | |
| tree | a47b1592d1e5d880c251ddad66d994dc61b59b9f /test/web | |
| parent | fda6f35a467914d3d6bf6944a10dc928c4ab495c (diff) | |
| download | pleroma-cb60a9c42f48f0b9df1681f9cba229b21eb6095c.tar.gz pleroma-cb60a9c42f48f0b9df1681f9cba229b21eb6095c.zip | |
Do not fail when user has no email
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/mastodon_api/controllers/auth_controller_test.exs | 33 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/report_controller_test.exs | 11 | 
2 files changed, 42 insertions, 2 deletions
| diff --git a/test/web/mastodon_api/controllers/auth_controller_test.exs b/test/web/mastodon_api/controllers/auth_controller_test.exs index 98b2a82e7..a485f8e41 100644 --- a/test/web/mastodon_api/controllers/auth_controller_test.exs +++ b/test/web/mastodon_api/controllers/auth_controller_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Web.MastodonAPI.AuthControllerTest do @@ -85,6 +85,37 @@ defmodule Pleroma.Web.MastodonAPI.AuthControllerTest do      end    end +  describe "POST /auth/password, with nickname" do +    test "it returns 204", %{conn: conn} do +      user = insert(:user) + +      assert conn +             |> post("/auth/password?nickname=#{user.nickname}") +             |> json_response(:no_content) + +      ObanHelpers.perform_all() +      token_record = Repo.get_by(Pleroma.PasswordResetToken, user_id: user.id) + +      email = Pleroma.Emails.UserEmail.password_reset_email(user, token_record.token) +      notify_email = Config.get([:instance, :notify_email]) +      instance_name = Config.get([:instance, :name]) + +      assert_email_sent( +        from: {instance_name, notify_email}, +        to: {user.name, user.email}, +        html_body: email.html_body +      ) +    end + +    test "it doesn't fail when a user has no email", %{conn: conn} do +      user = insert(:user, %{email: nil}) + +      assert conn +             |> post("/auth/password?nickname=#{user.nickname}") +             |> json_response(:no_content) +    end +  end +    describe "POST /auth/password, with invalid parameters" do      setup do        user = insert(:user) diff --git a/test/web/mastodon_api/controllers/report_controller_test.exs b/test/web/mastodon_api/controllers/report_controller_test.exs index 53c132ff4..34ec8119e 100644 --- a/test/web/mastodon_api/controllers/report_controller_test.exs +++ b/test/web/mastodon_api/controllers/report_controller_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Web.MastodonAPI.ReportControllerTest do @@ -75,4 +75,13 @@ defmodule Pleroma.Web.MastodonAPI.ReportControllerTest do      assert json_response(conn, 400) == %{"error" => "Account not found"}    end + +  test "doesn't fail if an admin has no email", %{conn: conn, target_user: target_user} do +    insert(:user, %{is_admin: true, email: nil}) + +    assert %{"action_taken" => false, "id" => _} = +             conn +             |> post("/api/v1/reports", %{"account_id" => target_user.id}) +             |> json_response(200) +  end  end | 
