summaryrefslogtreecommitdiff
path: root/test/web/twitter_api/views
diff options
context:
space:
mode:
Diffstat (limited to 'test/web/twitter_api/views')
-rw-r--r--test/web/twitter_api/views/activity_view_test.exs31
-rw-r--r--test/web/twitter_api/views/user_view_test.exs51
2 files changed, 77 insertions, 5 deletions
diff --git a/test/web/twitter_api/views/activity_view_test.exs b/test/web/twitter_api/views/activity_view_test.exs
index a101e4ae8..5cef06f88 100644
--- a/test/web/twitter_api/views/activity_view_test.exs
+++ b/test/web/twitter_api/views/activity_view_test.exs
@@ -36,6 +36,10 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
"favorited" => false,
"id" => activity.id,
"in_reply_to_status_id" => nil,
+ "in_reply_to_screen_name" => nil,
+ "in_reply_to_user_id" => nil,
+ "in_reply_to_profileurl" => nil,
+ "in_reply_to_ostatus_uri" => nil,
"is_local" => true,
"is_post_verb" => true,
"possibly_sensitive" => false,
@@ -126,6 +130,33 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
assert result == expected
end
+ test "a like activity for deleted post" do
+ user = insert(:user)
+ other_user = insert(:user, %{nickname: "shp"})
+
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!"})
+ {:ok, like, _object} = CommonAPI.favorite(activity.id, other_user)
+ CommonAPI.delete(activity.id, user)
+
+ result = ActivityView.render("activity.json", activity: like)
+
+ expected = %{
+ "activity_type" => "like",
+ "created_at" => like.data["published"] |> Utils.date_to_asctime(),
+ "external_url" => like.data["id"],
+ "id" => like.id,
+ "in_reply_to_status_id" => nil,
+ "is_local" => true,
+ "is_post_verb" => false,
+ "statusnet_html" => "shp favorited a status.",
+ "text" => "shp favorited a status.",
+ "uri" => "tag:#{like.data["id"]}:objectType=Favourite",
+ "user" => UserView.render("show.json", user: other_user)
+ }
+
+ assert result == expected
+ end
+
test "an announce activity" do
user = insert(:user)
other_user = insert(:user, %{nickname: "shp"})
diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs
index 24a5c5bca..2c583c0d3 100644
--- a/test/web/twitter_api/views/user_view_test.exs
+++ b/test/web/twitter_api/views/user_view_test.exs
@@ -13,6 +13,13 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
[user: user]
end
+ test "A user with only a nickname", %{user: user} do
+ user = %{user | name: nil, nickname: "scarlett@catgirl.science"}
+ represented = UserView.render("show.json", %{user: user})
+ assert represented["name"] == user.nickname
+ assert represented["name_html"] == user.nickname
+ end
+
test "A user with an avatar object", %{user: user} do
image = "image"
user = %{user | avatar: %{"url" => [%{"href" => image}]}}
@@ -22,7 +29,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
test "A user with emoji in username", %{user: user} do
expected =
- "<img height='32px' width='32px' alt='karjalanpiirakka' title='karjalanpiirakka' src='/file.png' /> man"
+ "<img height=\"32px\" width=\"32px\" alt=\"karjalanpiirakka\" title=\"karjalanpiirakka\" src=\"/file.png\" /> man"
user = %{
user
@@ -87,7 +94,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: user})
@@ -126,7 +135,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: user, for: follower})
@@ -166,7 +177,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: follower, for: user})
@@ -213,10 +226,38 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
blocker = Repo.get(User, blocker.id)
assert represented == UserView.render("show.json", %{user: user, for: blocker})
end
+
+ test "a user with mastodon fields" do
+ fields = [
+ %{
+ "name" => "Pronouns",
+ "value" => "she/her"
+ },
+ %{
+ "name" => "Website",
+ "value" => "https://example.org/"
+ }
+ ]
+
+ user =
+ insert(:user, %{
+ info: %{
+ "source_data" => %{
+ "attachment" =>
+ Enum.map(fields, fn field -> Map.put(field, "type", "PropertyValue") end)
+ }
+ }
+ })
+
+ userview = UserView.render("show.json", %{user: user})
+ assert userview["fields"] == fields
+ end
end