Merge branch 'align-mastodon-conversations' into 'develop'

Mastodon Conversations API: Align to Mastodon behavior

See merge request pleroma/pleroma!1215
This commit is contained in:
lambda 2019-06-03 09:48:37 +00:00
commit 314758c25b
2 changed files with 11 additions and 2 deletions

View file

@ -22,9 +22,14 @@ def render("participation.json", %{participation: participation, user: user}) do
last_status = StatusView.render("status.json", %{activity: activity, for: user})
# Conversations return all users except the current user.
users =
participation.conversation.users
|> Enum.reject(&(&1.id == user.id))
accounts =
AccountView.render("accounts.json", %{
users: participation.conversation.users,
users: users,
as: :user
})

View file

@ -317,12 +317,13 @@ test "direct timeline", %{conn: conn} do
test "Conversations", %{conn: conn} do
user_one = insert(:user)
user_two = insert(:user)
user_three = insert(:user)
{:ok, user_two} = User.follow(user_two, user_one)
{:ok, direct} =
CommonAPI.post(user_one, %{
"status" => "Hi @#{user_two.nickname}!",
"status" => "Hi @#{user_two.nickname}, @#{user_three.nickname}!",
"visibility" => "direct"
})
@ -348,7 +349,10 @@ test "Conversations", %{conn: conn} do
}
] = response
account_ids = Enum.map(res_accounts, & &1["id"])
assert length(res_accounts) == 2
assert user_two.id in account_ids
assert user_three.id in account_ids
assert is_binary(res_id)
assert unread == true
assert res_last_status["id"] == direct.id