Add test for conversation API beforehand
This commit is contained in:
parent
6d6f48d079
commit
42d034505a
|
@ -248,6 +248,57 @@ test "direct timeline", %{conn: conn} do
|
||||||
assert status["url"] != direct.data["id"]
|
assert status["url"] != direct.data["id"]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "Conversations", %{conn: conn} do
|
||||||
|
user_one = insert(:user)
|
||||||
|
user_two = insert(:user)
|
||||||
|
|
||||||
|
{:ok, user_two} = User.follow(user_two, user_one)
|
||||||
|
|
||||||
|
{:ok, direct} =
|
||||||
|
CommonAPI.post(user_one, %{
|
||||||
|
"status" => "Hi @#{user_two.nickname}!",
|
||||||
|
"visibility" => "direct"
|
||||||
|
})
|
||||||
|
|
||||||
|
{:ok, _follower_only} =
|
||||||
|
CommonAPI.post(user_one, %{
|
||||||
|
"status" => "Hi @#{user_two.nickname}!",
|
||||||
|
"visibility" => "private"
|
||||||
|
})
|
||||||
|
|
||||||
|
res_conn =
|
||||||
|
conn
|
||||||
|
|> assign(:user, user)
|
||||||
|
|> get("/api/v1/conversations")
|
||||||
|
|
||||||
|
assert response = json_response(res_conn, 200)
|
||||||
|
|
||||||
|
assert %{
|
||||||
|
"id" => res_id,
|
||||||
|
"accounts" => res_accounts,
|
||||||
|
"last_status" => res_last_status,
|
||||||
|
"unread" => unread
|
||||||
|
} = reponse
|
||||||
|
|
||||||
|
assert unread == false
|
||||||
|
|
||||||
|
# Apparently undocumented API endpoint
|
||||||
|
res_conn =
|
||||||
|
conn
|
||||||
|
|> assign(:user, user)
|
||||||
|
|> get("/api/v1/conversations/#{res_id}/read")
|
||||||
|
|
||||||
|
assert response == json_response(res_conn, 200)
|
||||||
|
|
||||||
|
# (vanilla) Mastodon frontend behaviour
|
||||||
|
res_conn =
|
||||||
|
conn
|
||||||
|
|> assign(:user, user)
|
||||||
|
|> get("/api/v1/statuses/#{res_last_status.id}/context")
|
||||||
|
|
||||||
|
assert %{ancestors: [], descendants: []} == json_response(res_conn, 200)
|
||||||
|
end
|
||||||
|
|
||||||
test "doesn't include DMs from blocked users", %{conn: conn} do
|
test "doesn't include DMs from blocked users", %{conn: conn} do
|
||||||
blocker = insert(:user)
|
blocker = insert(:user)
|
||||||
blocked = insert(:user)
|
blocked = insert(:user)
|
||||||
|
|
Loading…
Reference in New Issue