diff options
| -rw-r--r-- | lib/pleroma/web/mastodon_api/views/account_view.ex | 2 | ||||
| -rw-r--r-- | test/web/mastodon_api/account_view_test.exs | 38 | 
2 files changed, 40 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index d9edcae7f..9dd635a63 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do      image = User.avatar_url(user) |> MediaProxy.url()      header = User.banner_url(user) |> MediaProxy.url()      user_info = User.user_info(user) +    bot = (user.info["source_data"]["type"] || "Person") in ["Application", "Service"]      emojis =        (user.info["source_data"]["tag"] || []) @@ -44,6 +45,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do        header_static: header,        emojis: emojis,        fields: [], +      bot: bot,        source: %{          note: "",          privacy: "public", diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs index 35c8a1fb0..5393732eb 100644 --- a/test/web/mastodon_api/account_view_test.exs +++ b/test/web/mastodon_api/account_view_test.exs @@ -49,6 +49,44 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do          }        ],        fields: [], +      bot: false, +      source: %{ +        note: "", +        privacy: "public", +        sensitive: "false" +      } +    } + +    assert expected == AccountView.render("account.json", %{user: user}) +  end + +  test "Represent a Service(bot) account" do +    user = +      insert(:user, %{ +        info: %{"note_count" => 5, "follower_count" => 3, "source_data" => %{"type" => "Service"}}, +        nickname: "shp@shitposter.club", +        inserted_at: ~N[2017-08-15 15:47:06.597036] +      }) + +    expected = %{ +      id: to_string(user.id), +      username: "shp", +      acct: user.nickname, +      display_name: user.name, +      locked: false, +      created_at: "2017-08-15T15:47:06.000Z", +      followers_count: 3, +      following_count: 0, +      statuses_count: 5, +      note: user.bio, +      url: user.ap_id, +      avatar: "http://localhost:4001/images/avi.png", +      avatar_static: "http://localhost:4001/images/avi.png", +      header: "http://localhost:4001/images/banner.png", +      header_static: "http://localhost:4001/images/banner.png", +      emojis: [], +      fields: [], +      bot: true,        source: %{          note: "",          privacy: "public",  | 
