summaryrefslogtreecommitdiff
path: root/test/web/twitter_api
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2018-02-11 09:50:55 +0100
committerRoger Braun <roger@rogerbraun.net>2018-02-11 09:50:55 +0100
commit52200998c997576c9008cbe50b0a7b9f0e6134cc (patch)
treec0d68f476442b8dd86fca1e182d5c09553800810 /test/web/twitter_api
parent4a13b8488787773d09f67d1a436d5906e2f5b171 (diff)
parent0e2ca77eec511857508208d3faeb9217c4496f8a (diff)
downloadpleroma-52200998c997576c9008cbe50b0a7b9f0e6134cc.tar.gz
pleroma-52200998c997576c9008cbe50b0a7b9f0e6134cc.zip
Merge branch 'develop' into feature/activitypub
Diffstat (limited to 'test/web/twitter_api')
-rw-r--r--test/web/twitter_api/twitter_api_controller_test.exs32
-rw-r--r--test/web/twitter_api/twitter_api_test.exs6
-rw-r--r--test/web/twitter_api/views/user_view_test.exs39
3 files changed, 59 insertions, 18 deletions
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs
index 90d0fa654..39f1cdd4c 100644
--- a/test/web/twitter_api/twitter_api_controller_test.exs
+++ b/test/web/twitter_api/twitter_api_controller_test.exs
@@ -518,7 +518,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
end
describe "GET /api/statuses/friends" do
- test "it returns a user's friends", %{conn: conn} do
+ test "it returns the logged in user's friends", %{conn: conn} do
user = insert(:user)
followed_one = insert(:user)
followed_two = insert(:user)
@@ -533,6 +533,36 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
assert MapSet.equal?(MapSet.new(json_response(conn, 200)), MapSet.new(UserView.render("index.json", %{users: [followed_one, followed_two], for: user})))
end
+
+ test "it returns a given user's friends with user_id", %{conn: conn} do
+ user = insert(:user)
+ followed_one = insert(:user)
+ followed_two = insert(:user)
+ not_followed = insert(:user)
+
+ {:ok, user} = User.follow(user, followed_one)
+ {:ok, user} = User.follow(user, followed_two)
+
+ conn = conn
+ |> get("/api/statuses/friends", %{"user_id" => user.id})
+
+ assert MapSet.equal?(MapSet.new(json_response(conn, 200)), MapSet.new(UserView.render("index.json", %{users: [followed_one, followed_two], for: user})))
+ end
+
+ test "it returns a given user's friends with screen_name", %{conn: conn} do
+ user = insert(:user)
+ followed_one = insert(:user)
+ followed_two = insert(:user)
+ not_followed = insert(:user)
+
+ {:ok, user} = User.follow(user, followed_one)
+ {:ok, user} = User.follow(user, followed_two)
+
+ conn = conn
+ |> get("/api/statuses/friends", %{"screen_name" => user.nickname})
+
+ assert MapSet.equal?(MapSet.new(json_response(conn, 200)), MapSet.new(UserView.render("index.json", %{users: [followed_one, followed_two], for: user})))
+ end
end
describe "GET /friends/ids" do
diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs
index 96552f97e..ac62880d5 100644
--- a/test/web/twitter_api/twitter_api_test.exs
+++ b/test/web/twitter_api/twitter_api_test.exs
@@ -34,7 +34,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
{ :ok, activity = %Activity{} } = TwitterAPI.create_status(user, input)
- assert get_in(activity.data, ["object", "content"]) == "Hello again, <a href='shp'>@shp</a>.&lt;script&gt;&lt;/script&gt;<br>This is on another :moominmamma: line. #2hu #epic #phantasmagoric<br><a href=\"http://example.org/image.jpg\" class='attachment'>image.jpg</a>"
+ assert get_in(activity.data, ["object", "content"]) == "Hello again, <span><a href='shp'>@<span>shp</span></a></span>.&lt;script&gt;&lt;/script&gt;<br>This is on another :moominmamma: line. #2hu #epic #phantasmagoric<br><a href=\"http://example.org/image.jpg\" class='attachment'>image.jpg</a>"
assert get_in(activity.data, ["object", "type"]) == "Note"
assert get_in(activity.data, ["object", "actor"]) == user.ap_id
assert get_in(activity.data, ["actor"]) == user.ap_id
@@ -291,7 +291,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
archaeme_remote = insert(:user, %{nickname: "archaeme@archae.me"})
mentions = Pleroma.Formatter.parse_mentions(text)
- expected_text = "<a href='#{gsimg.ap_id}'>@gsimg</a> According to <a href='#{archaeme.ap_id}'>@archaeme</a>, that is @daggsy. Also hello <a href='#{archaeme_remote.ap_id}'>@archaeme</a>"
+ expected_text = "<span><a href='#{gsimg.ap_id}'>@<span>gsimg</span></a></span> According to <span><a href='#{archaeme.ap_id}'>@<span>archaeme</span></a></span>, that is @daggsy. Also hello <span><a href='#{archaeme_remote.ap_id}'>@<span>archaeme</span></a></span>"
assert Utils.add_user_links(text, mentions) == expected_text
end
@@ -404,7 +404,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
assert represented["id"] == UserView.render("show.json", %{user: remote, for: user})["id"]
# Also fetches the feed.
- assert Activity.get_create_activity_by_object_ap_id("tag:mastodon.social,2017-04-05:objectId=1641750:objectType=Status")
+ # assert Activity.get_create_activity_by_object_ap_id("tag:mastodon.social,2017-04-05:objectId=1641750:objectType=Status")
end
end
end
diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs
index 18a19ef70..d5d2f0adc 100644
--- a/test/web/twitter_api/views/user_view_test.exs
+++ b/test/web/twitter_api/views/user_view_test.exs
@@ -30,10 +30,11 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
User.follow(follower, user)
User.follow(second_follower, user)
User.follow(user, follower)
+ {:ok, user} = User.update_follower_count(user)
+ Cachex.set(:user_cache, "user_info:#{user.id}", User.user_info(Repo.get!(User, user.id)))
- user = Repo.get!(User, user.id)
-
- image = "https://placehold.it/48x48"
+ image = "http://localhost:4001/images/avi.png"
+ banner = "http://localhost:4001/images/banner.png"
represented = %{
"id" => user.id,
@@ -54,8 +55,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"statusnet_blocking" => false,
"rights" => %{},
"statusnet_profile_url" => user.ap_id,
- "cover_photo" => nil,
- "background_image" => nil
+ "cover_photo" => banner,
+ "background_image" => nil,
+ "is_local" => true
}
assert represented == UserView.render("show.json", %{user: user})
@@ -64,7 +66,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
test "A user for a given other follower", %{user: user} do
{:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]})
{:ok, user} = User.update_follower_count(user)
- image = "https://placehold.it/48x48"
+ image = "http://localhost:4001/images/avi.png"
+ banner = "http://localhost:4001/images/banner.png"
+
represented = %{
"id" => user.id,
"name" => user.name,
@@ -84,8 +88,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"statusnet_blocking" => false,
"rights" => %{},
"statusnet_profile_url" => user.ap_id,
- "cover_photo" => nil,
- "background_image" => nil
+ "cover_photo" => banner,
+ "background_image" => nil,
+ "is_local" => true
}
assert represented == UserView.render("show.json", %{user: user, for: follower})
@@ -95,7 +100,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
follower = insert(:user)
{:ok, follower} = User.follow(follower, user)
{:ok, user} = User.update_follower_count(user)
- image = "https://placehold.it/48x48"
+ image = "http://localhost:4001/images/avi.png"
+ banner = "http://localhost:4001/images/banner.png"
+
represented = %{
"id" => follower.id,
"name" => follower.name,
@@ -115,8 +122,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"statusnet_blocking" => false,
"rights" => %{},
"statusnet_profile_url" => follower.ap_id,
- "cover_photo" => nil,
- "background_image" => nil
+ "cover_photo" => banner,
+ "background_image" => nil,
+ "is_local" => true
}
assert represented == UserView.render("show.json", %{user: follower, for: user})
@@ -126,7 +134,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
user = insert(:user)
blocker = insert(:user)
User.block(blocker, user)
- image = "https://placehold.it/48x48"
+ image = "http://localhost:4001/images/avi.png"
+ banner = "http://localhost:4001/images/banner.png"
+
represented = %{
"id" => user.id,
"name" => user.name,
@@ -146,8 +156,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
"statusnet_blocking" => true,
"rights" => %{},
"statusnet_profile_url" => user.ap_id,
- "cover_photo" => nil,
- "background_image" => nil
+ "cover_photo" => banner,
+ "background_image" => nil,
+ "is_local" => true
}
blocker = Repo.get(User, blocker.id)