diff options
| author | lain <lain@soykaf.club> | 2019-05-04 15:00:45 +0200 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2019-05-04 15:00:45 +0200 | 
| commit | 6ad8ddfd290f0239956874ccc9dc181167e84647 (patch) | |
| tree | 83c5b59d055d3b98c1ebbba66351b7cbdb49bd99 /test/web/twitter_api/util_controller_test.exs | |
| parent | 629ad1766ce5da434bf095f6baa81a460334e1b2 (diff) | |
| parent | d089ff24600455fefc17e91807c61ddc61ba107a (diff) | |
| download | pleroma-6ad8ddfd290f0239956874ccc9dc181167e84647.tar.gz pleroma-6ad8ddfd290f0239956874ccc9dc181167e84647.zip | |
Merge remote-tracking branch 'origin/develop' into feature/bbs
Diffstat (limited to 'test/web/twitter_api/util_controller_test.exs')
| -rw-r--r-- | test/web/twitter_api/util_controller_test.exs | 87 | 
1 files changed, 87 insertions, 0 deletions
| diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index 832fdc096..56474447b 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -3,9 +3,15 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do    alias Pleroma.Notification    alias Pleroma.Repo +  alias Pleroma.User    alias Pleroma.Web.CommonAPI    import Pleroma.Factory +  setup do +    Tesla.Mock.mock(fn env -> apply(HttpRequestMock, :request, [env]) end) +    :ok +  end +    describe "POST /api/pleroma/follow_import" do      test "it returns HTTP 200", %{conn: conn} do        user1 = insert(:user) @@ -20,6 +26,21 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do        assert response == "job started"      end +    test "it imports new-style mastodon follow lists", %{conn: conn} do +      user1 = insert(:user) +      user2 = insert(:user) + +      response = +        conn +        |> assign(:user, user1) +        |> post("/api/pleroma/follow_import", %{ +          "list" => "Account address,Show boosts\n#{user2.ap_id},true" +        }) +        |> json_response(:ok) + +      assert response == "job started" +    end +      test "requires 'follow' permission", %{conn: conn} do        token1 = insert(:oauth_token, scopes: ["read", "write"])        token2 = insert(:oauth_token, scopes: ["follow"]) @@ -74,6 +95,26 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do      end    end +  describe "PUT /api/pleroma/notification_settings" do +    test "it updates notification settings", %{conn: conn} do +      user = insert(:user) + +      conn +      |> assign(:user, user) +      |> put("/api/pleroma/notification_settings", %{ +        "remote" => false, +        "followers" => false, +        "bar" => 1 +      }) +      |> json_response(:ok) + +      user = Repo.get(User, user.id) + +      assert %{"remote" => false, "local" => true, "followers" => false, "follows" => true} == +               user.info.notification_settings +    end +  end +    describe "GET /api/statusnet/config.json" do      test "returns the state of safe_dm_mentions flag", %{conn: conn} do        option = Pleroma.Config.get([:instance, :safe_dm_mentions]) @@ -164,4 +205,50 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do        assert response == Jason.encode!(config |> Enum.into(%{})) |> Jason.decode!()      end    end + +  describe "/api/pleroma/emoji" do +    test "returns json with custom emoji with tags", %{conn: conn} do +      emoji = +        conn +        |> get("/api/pleroma/emoji") +        |> json_response(200) + +      assert Enum.all?(emoji, fn +               {_key, +                %{ +                  "image_url" => url, +                  "tags" => tags +                }} -> +                 is_binary(url) and is_list(tags) +             end) +    end +  end + +  describe "GET /ostatus_subscribe?acct=...." do +    test "adds status to pleroma instance if the `acct` is a status", %{conn: conn} do +      conn = +        get( +          conn, +          "/ostatus_subscribe?acct=https://mastodon.social/users/emelie/statuses/101849165031453009" +        ) + +      assert redirected_to(conn) =~ "/notice/" +    end + +    test "show follow account page if the `acct` is a account link", %{conn: conn} do +      response = +        get( +          conn, +          "/ostatus_subscribe?acct=https://mastodon.social/users/emelie" +        ) + +      assert html_response(response, 200) =~ "Log in to follow" +    end +  end + +  test "GET /api/pleroma/healthcheck", %{conn: conn} do +    conn = get(conn, "/api/pleroma/healthcheck") + +    assert conn.status in [200, 503] +  end  end | 
