aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-10-05 10:00:44 +0000
committerkaniini <ariadne@dereferenced.org>2019-10-05 10:00:44 +0000
commite51c20f28a91028b06a5783601e4ce09536bba5b (patch)
tree2a79aae59c6ce7500d360ba35a5b0aafe2146072 /test
parent9c47d8571c6c46503d9bb836aea933eda6e9e0a5 (diff)
parente07e9cb75e6605218acea1ef41772ca29124bd0d (diff)
downloadpleroma-e51c20f28a91028b06a5783601e4ce09536bba5b.tar.gz
Merge branch 'revert-5c04e817' into 'develop'
Revert "Merge branch 'user-info-unread-direct-conversation' into 'develop'" See merge request pleroma/pleroma!1794
Diffstat (limited to 'test')
-rw-r--r--test/conversation/participation_test.exs4
-rw-r--r--test/web/mastodon_api/controllers/conversation_controller_test.exs101
-rw-r--r--test/web/mastodon_api/views/account_view_test.exs21
-rw-r--r--test/web/pleroma_api/controllers/pleroma_api_controller_test.exs2
4 files changed, 10 insertions, 118 deletions
diff --git a/test/conversation/participation_test.exs b/test/conversation/participation_test.exs
index f430bdf75..a27167d42 100644
--- a/test/conversation/participation_test.exs
+++ b/test/conversation/participation_test.exs
@@ -6,7 +6,6 @@ defmodule Pleroma.Conversation.ParticipationTest do
use Pleroma.DataCase
import Pleroma.Factory
alias Pleroma.Conversation.Participation
- alias Pleroma.User
alias Pleroma.Web.CommonAPI
test "getting a participation will also preload things" do
@@ -31,8 +30,6 @@ defmodule Pleroma.Conversation.ParticipationTest do
{:ok, activity} =
CommonAPI.post(user, %{"status" => "Hey @#{other_user.nickname}.", "visibility" => "direct"})
- user = User.get_cached_by_id(user.id)
- other_user = User.get_cached_by_id(user.id)
[participation] = Participation.for_user(user)
participation = Pleroma.Repo.preload(participation, :recipients)
@@ -158,7 +155,6 @@ defmodule Pleroma.Conversation.ParticipationTest do
[participation] = Participation.for_user_with_last_activity_id(user)
participation = Repo.preload(participation, :recipients)
- user = User.get_cached_by_id(user.id)
assert participation.recipients |> length() == 1
assert user in participation.recipients
diff --git a/test/web/mastodon_api/controllers/conversation_controller_test.exs b/test/web/mastodon_api/controllers/conversation_controller_test.exs
index a308a7620..7117fc76a 100644
--- a/test/web/mastodon_api/controllers/conversation_controller_test.exs
+++ b/test/web/mastodon_api/controllers/conversation_controller_test.exs
@@ -10,23 +10,19 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do
import Pleroma.Factory
- test "returns a list of conversations", %{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)
- assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 0
-
{:ok, direct} =
CommonAPI.post(user_one, %{
"status" => "Hi @#{user_two.nickname}, @#{user_three.nickname}!",
"visibility" => "direct"
})
- assert User.get_cached_by_id(user_two.id).info.unread_conversation_count == 1
-
{:ok, _follower_only} =
CommonAPI.post(user_one, %{
"status" => "Hi @#{user_two.nickname}!",
@@ -56,100 +52,23 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do
assert is_binary(res_id)
assert unread == true
assert res_last_status["id"] == direct.id
- assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1
- end
-
- test "updates the last_status on reply", %{conn: conn} do
- user_one = insert(:user)
- user_two = insert(:user)
-
- {:ok, direct} =
- CommonAPI.post(user_one, %{
- "status" => "Hi @#{user_two.nickname}",
- "visibility" => "direct"
- })
-
- {:ok, direct_reply} =
- CommonAPI.post(user_two, %{
- "status" => "reply",
- "visibility" => "direct",
- "in_reply_to_status_id" => direct.id
- })
-
- [%{"last_status" => res_last_status}] =
- conn
- |> assign(:user, user_one)
- |> get("/api/v1/conversations")
- |> json_response(200)
-
- assert res_last_status["id"] == direct_reply.id
- end
-
- test "the user marks a conversation as read", %{conn: conn} do
- user_one = insert(:user)
- user_two = insert(:user)
-
- {:ok, direct} =
- CommonAPI.post(user_one, %{
- "status" => "Hi @#{user_two.nickname}",
- "visibility" => "direct"
- })
- [%{"id" => direct_conversation_id, "unread" => true}] =
- conn
- |> assign(:user, user_one)
- |> get("/api/v1/conversations")
- |> json_response(200)
-
- %{"unread" => false} =
- conn
- |> assign(:user, user_one)
- |> post("/api/v1/conversations/#{direct_conversation_id}/read")
- |> json_response(200)
-
- assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 0
-
- # The conversation is marked as unread on reply
- {:ok, _} =
- CommonAPI.post(user_two, %{
- "status" => "reply",
- "visibility" => "direct",
- "in_reply_to_status_id" => direct.id
- })
-
- [%{"unread" => true}] =
+ # Apparently undocumented API endpoint
+ res_conn =
conn
|> assign(:user, user_one)
- |> get("/api/v1/conversations")
- |> json_response(200)
-
- assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1
+ |> post("/api/v1/conversations/#{res_id}/read")
- # A reply doesn't increment the user's unread_conversation_count if the conversation is unread
- {:ok, _} =
- CommonAPI.post(user_two, %{
- "status" => "reply",
- "visibility" => "direct",
- "in_reply_to_status_id" => direct.id
- })
-
- assert User.get_cached_by_id(user_one.id).info.unread_conversation_count == 1
- end
-
- test "(vanilla) Mastodon frontend behaviour", %{conn: conn} do
- user_one = insert(:user)
- user_two = insert(:user)
-
- {:ok, direct} =
- CommonAPI.post(user_one, %{
- "status" => "Hi @#{user_two.nickname}!",
- "visibility" => "direct"
- })
+ assert response = json_response(res_conn, 200)
+ assert length(response["accounts"]) == 2
+ assert response["last_status"]["id"] == direct.id
+ assert response["unread"] == false
+ # (vanilla) Mastodon frontend behaviour
res_conn =
conn
|> assign(:user, user_one)
- |> get("/api/v1/statuses/#{direct.id}/context")
+ |> get("/api/v1/statuses/#{res_last_status["id"]}/context")
assert %{"ancestors" => [], "descendants" => []} == json_response(res_conn, 200)
end
diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs
index b7a4938a6..62b2ab7e3 100644
--- a/test/web/mastodon_api/views/account_view_test.exs
+++ b/test/web/mastodon_api/views/account_view_test.exs
@@ -418,27 +418,6 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
following_count: 1
} = AccountView.render("show.json", %{user: user, for: user})
end
-
- test "shows unread_conversation_count only to the account owner" do
- user = insert(:user)
- other_user = insert(:user)
-
- {:ok, _activity} =
- CommonAPI.post(user, %{
- "status" => "Hey @#{other_user.nickname}.",
- "visibility" => "direct"
- })
-
- user = User.get_cached_by_ap_id(user.ap_id)
-
- assert AccountView.render("show.json", %{user: user, for: other_user})[:pleroma][
- :unread_conversation_count
- ] == nil
-
- assert AccountView.render("show.json", %{user: user, for: user})[:pleroma][
- :unread_conversation_count
- ] == 1
- end
end
describe "follow requests counter" do
diff --git a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs
index 8a6528cbb..7eaeda4a0 100644
--- a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs
+++ b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs
@@ -8,7 +8,6 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
alias Pleroma.Conversation.Participation
alias Pleroma.Notification
alias Pleroma.Repo
- alias Pleroma.User
alias Pleroma.Web.CommonAPI
import Pleroma.Factory
@@ -74,7 +73,6 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
participation = Repo.preload(participation, :recipients)
- user = User.get_cached_by_id(user.id)
assert [user] == participation.recipients
assert other_user not in participation.recipients