2017-09-09 06:09:53 -04:00
|
|
|
defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|
|
|
use Pleroma.DataCase
|
|
|
|
import Pleroma.Factory
|
|
|
|
alias Pleroma.Web.MastodonAPI.AccountView
|
2017-09-13 09:55:10 -04:00
|
|
|
alias Pleroma.User
|
2017-09-09 06:09:53 -04:00
|
|
|
|
|
|
|
test "Represent a user account" do
|
2017-09-15 11:50:47 -04:00
|
|
|
user = insert(:user, %{info: %{"note_count" => 5, "follower_count" => 3}, nickname: "shp@shitposter.club", inserted_at: ~N[2017-08-15 15:47:06.597036]})
|
2017-09-09 06:09:53 -04:00
|
|
|
|
|
|
|
expected = %{
|
2017-11-10 11:18:19 -05:00
|
|
|
id: to_string(user.id),
|
2017-09-12 03:34:39 -04:00
|
|
|
username: "shp",
|
2017-09-09 06:09:53 -04:00
|
|
|
acct: user.nickname,
|
|
|
|
display_name: user.name,
|
|
|
|
locked: false,
|
2017-09-15 11:50:47 -04:00
|
|
|
created_at: "2017-08-15T15:47:06.000Z",
|
2017-09-09 06:09:53 -04:00
|
|
|
followers_count: 3,
|
|
|
|
following_count: 0,
|
|
|
|
statuses_count: 5,
|
|
|
|
note: user.bio,
|
|
|
|
url: user.ap_id,
|
2018-01-15 15:18:17 -05:00
|
|
|
avatar: "http://localhost:4001/static/avi.png",
|
|
|
|
avatar_static: "http://localhost:4001/static/avi.png",
|
|
|
|
header: "http://localhost:4001/static/banner.png",
|
|
|
|
header_static: "http://localhost:4001/static/banner.png",
|
2017-09-16 05:52:33 -04:00
|
|
|
source: %{
|
|
|
|
note: "",
|
|
|
|
privacy: "public",
|
|
|
|
sensitive: "false"
|
|
|
|
}
|
2017-09-09 06:09:53 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
assert expected == AccountView.render("account.json", %{user: user})
|
|
|
|
end
|
|
|
|
|
|
|
|
test "Represent a smaller mention" do
|
|
|
|
user = insert(:user)
|
|
|
|
|
|
|
|
expected = %{
|
2017-11-10 11:18:19 -05:00
|
|
|
id: to_string(user.id),
|
2017-09-09 06:09:53 -04:00
|
|
|
acct: user.nickname,
|
|
|
|
username: user.nickname,
|
|
|
|
url: user.ap_id
|
|
|
|
}
|
|
|
|
|
|
|
|
assert expected == AccountView.render("mention.json", %{user: user})
|
|
|
|
end
|
2017-09-13 09:55:10 -04:00
|
|
|
|
|
|
|
test "represent a relationship" do
|
|
|
|
user = insert(:user)
|
|
|
|
other_user = insert(:user)
|
|
|
|
|
|
|
|
{:ok, user} = User.follow(user, other_user)
|
2017-11-03 03:23:31 -04:00
|
|
|
{:ok, user} = User.block(user, other_user)
|
2017-09-13 09:55:10 -04:00
|
|
|
|
|
|
|
expected = %{
|
2017-11-10 11:18:19 -05:00
|
|
|
id: to_string(other_user.id),
|
2017-09-13 10:05:39 -04:00
|
|
|
following: true,
|
|
|
|
followed_by: false,
|
2017-11-03 03:23:31 -04:00
|
|
|
blocking: true,
|
2017-09-13 09:55:10 -04:00
|
|
|
muting: false,
|
|
|
|
requested: false,
|
|
|
|
domain_blocking: false
|
|
|
|
}
|
|
|
|
|
|
|
|
assert expected == AccountView.render("relationship.json", %{user: user, target: other_user})
|
|
|
|
end
|
2017-09-09 06:09:53 -04:00
|
|
|
end
|