Parse bio for MastodonAPI
authorMaxim Filippov <colixer@gmail.com>
Mon, 3 Dec 2018 15:59:50 +0000 (18:59 +0300)
committerMaxim Filippov <colixer@gmail.com>
Mon, 3 Dec 2018 15:59:50 +0000 (18:59 +0300)
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
test/web/mastodon_api/mastodon_api_controller_test.exs

index d19d55044531ea690e46b38f56290c55f2db4059..543fdf4161cad45020110262c1820abcc7d7ea3c 100644 (file)
@@ -55,7 +55,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
     user_params =
       %{}
       |> add_if_present(params, "display_name", :name)
-      |> add_if_present(params, "note", :bio)
+      |> add_if_present(params, "note", :bio, fn value -> {:ok, User.parse_bio(value)} end)
       |> add_if_present(params, "avatar", :avatar, fn value ->
         with %Plug.Upload{} <- value,
              {:ok, object} <- ActivityPub.upload(value, type: :avatar) do
index 7042a6acef38a4d5f907d09b3c943eaa1c3b1f53..098acb59ffa9a65dd3e8a0636929671cffe9ad65 100644 (file)
@@ -1253,14 +1253,21 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   describe "updating credentials" do
     test "updates the user's bio", %{conn: conn} do
       user = insert(:user)
+      user2 = insert(:user)
 
       conn =
         conn
         |> assign(:user, user)
-        |> patch("/api/v1/accounts/update_credentials", %{"note" => "I drink #cofe"})
+        |> patch("/api/v1/accounts/update_credentials", %{
+          "note" => "I drink #cofe with @#{user2.nickname}"
+        })
 
       assert user = json_response(conn, 200)
-      assert user["note"] == "I drink #cofe"
+
+      assert user["note"] ==
+               "I drink <a href=\"http://localhost:4001/tag/cofe\">#cofe</a> with <span><a href=\"#{
+                 user2.ap_id
+               }\">@<span>#{user2.nickname}</span></a></span>"
     end
 
     test "updates the user's locking status", %{conn: conn} do