diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 42 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs | 24 | 
2 files changed, 66 insertions, 0 deletions
| diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 1520ffc4b..f3951462f 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -2056,4 +2056,46 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert [%{activity_id: ^id_create}] = Pleroma.ActivityExpiration |> Repo.all()      end    end + +  describe "handling of clashing nicknames" do +    test "renames an existing user with a clashing nickname and a different ap id" do +      orig_user = +        insert( +          :user, +          local: false, +          nickname: "admin@mastodon.example.org", +          ap_id: "http://mastodon.example.org/users/harinezumigari" +        ) + +      %{ +        nickname: orig_user.nickname, +        ap_id: orig_user.ap_id <> "part_2" +      } +      |> ActivityPub.maybe_handle_clashing_nickname() + +      user = User.get_by_id(orig_user.id) + +      assert user.nickname == "#{orig_user.id}.admin@mastodon.example.org" +    end + +    test "does nothing with a clashing nickname and the same ap id" do +      orig_user = +        insert( +          :user, +          local: false, +          nickname: "admin@mastodon.example.org", +          ap_id: "http://mastodon.example.org/users/harinezumigari" +        ) + +      %{ +        nickname: orig_user.nickname, +        ap_id: orig_user.ap_id +      } +      |> ActivityPub.maybe_handle_clashing_nickname() + +      user = User.get_by_id(orig_user.id) + +      assert user.nickname == orig_user.nickname +    end +  end  end diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index 638626b45..b888e4c71 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -351,6 +351,30 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do               ]      end +    test "emojis in fields labels", %{conn: conn} do +      fields = [ +        %{"name" => ":firefox:", "value" => "is best 2hu"}, +        %{"name" => "they wins", "value" => ":blank:"} +      ] + +      account_data = +        conn +        |> patch("/api/v1/accounts/update_credentials", %{"fields_attributes" => fields}) +        |> json_response_and_validate_schema(200) + +      assert account_data["fields"] == [ +               %{"name" => ":firefox:", "value" => "is best 2hu"}, +               %{"name" => "they wins", "value" => ":blank:"} +             ] + +      assert account_data["source"]["fields"] == [ +               %{"name" => ":firefox:", "value" => "is best 2hu"}, +               %{"name" => "they wins", "value" => ":blank:"} +             ] + +      assert [%{"shortcode" => "blank"}, %{"shortcode" => "firefox"}] = account_data["emojis"] +    end +      test "update fields via x-www-form-urlencoded", %{conn: conn} do        fields =          [ | 
