summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2018-08-10 01:44:38 +0200
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2018-08-27 15:09:04 +0200
commitd008f2d69c96616f8d665851994414d1b42f8761 (patch)
treee16219f81ed1a4f66613227567ceb06255b73dfe
parent97e20d293266689d57c23abc7ae12ee05996517a (diff)
downloadpleroma-d008f2d69c96616f8d665851994414d1b42f8761.tar.gz
pleroma-d008f2d69c96616f8d665851994414d1b42f8761.zip
[Pleroma.Web.MastodonAPI.AccountView]: Add bot field
-rw-r--r--lib/pleroma/web/mastodon_api/views/account_view.ex2
-rw-r--r--test/web/mastodon_api/account_view_test.exs38
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",