diff options
Diffstat (limited to 'test/web/twitter_api')
4 files changed, 36 insertions, 13 deletions
diff --git a/test/web/twitter_api/representers/activity_representer_test.exs b/test/web/twitter_api/representers/activity_representer_test.exs index ecfd5a73f..d40455c89 100644 --- a/test/web/twitter_api/representers/activity_representer_test.exs +++ b/test/web/twitter_api/representers/activity_representer_test.exs @@ -6,6 +6,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do test "an activity" do {:ok, user} = UserBuilder.insert + {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) + content = "Some content" date = DateTime.utc_now() |> DateTime.to_iso8601 @@ -30,7 +32,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do expected_status = %{ "id" => activity.id, - "user" => UserRepresenter.to_map(user), + "user" => UserRepresenter.to_map(user, %{for: follower}), "is_local" => true, "attentions" => [], "statusnet_html" => content, @@ -39,6 +41,6 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do "created_at" => date } - assert ActivityRepresenter.to_map(activity, %{user: user}) == expected_status + assert ActivityRepresenter.to_map(activity, %{user: user, for: follower}) == expected_status end end diff --git a/test/web/twitter_api/representers/user_representer_test.exs b/test/web/twitter_api/representers/user_representer_test.exs index f08e392f9..76e3bd6e6 100644 --- a/test/web/twitter_api/representers/user_representer_test.exs +++ b/test/web/twitter_api/representers/user_representer_test.exs @@ -3,16 +3,10 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do alias Pleroma.User alias Pleroma.Web.TwitterAPI.Representers.UserRepresenter + alias Pleroma.Builders.UserBuilder setup do - user = %User{ - email: "test@example.org", - name: "Test Name", - nickname: "testname", - password_hash: Comeonin.Pbkdf2.hashpwsalt("test"), - bio: "A tester." - } - user = Repo.insert!(user) + {:ok, user} = UserBuilder.insert [user: user] end @@ -38,4 +32,28 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do assert represented == UserRepresenter.to_map(user) end + + test "A user for a given other follower", %{user: user} do + {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) + image = "https://placehold.it/48x48" + represented = %{ + "id" => user.id, + "name" => user.name, + "screen_name" => user.nickname, + "description" => user.bio, + # Fake fields + "favourites_count" => 0, + "statuses_count" => 0, + "friends_count" => 0, + "followers_count" => 0, + "profile_image_url" => image, + "profile_image_url_https" => image, + "profile_image_url_profile_size" => image, + "profile_image_url_original" => image, + "following" => true, + "rights" => %{} + } + + assert represented == UserRepresenter.to_map(user, %{for: follower}) + end end diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index b0a0cdb54..851d5f4a7 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -62,7 +62,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do test "with credentials", %{conn: conn, user: current_user} do {:ok, user} = UserBuilder.insert activities = ActivityBuilder.insert_list(30, %{"to" => [User.ap_followers(user)]}, %{user: user}) - ActivityBuilder.insert_list(10, %{"to" => [User.ap_followers(user)]}, %{user: user}) + returned_activities = ActivityBuilder.insert_list(10, %{"to" => [User.ap_followers(user)]}, %{user: user}) {:ok, other_user} = UserBuilder.insert(%{ap_id: "glimmung", nickname: "nockame"}) ActivityBuilder.insert_list(10, %{}, %{user: other_user}) since_id = List.last(activities).id @@ -76,6 +76,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do response = json_response(conn, 200) assert length(response) == 10 + assert response == Enum.map(returned_activities, fn (activity) -> ActivityRepresenter.to_map(activity, %{user: user, for: current_user}) end) end end diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 3cb3196d9..f68a49f6a 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -22,10 +22,12 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do test "fetch public statuses" do %{ public: activity, user: user } = ActivityBuilder.public_and_non_public - statuses = TwitterAPI.fetch_public_statuses() + {:ok, follower } = UserBuilder.insert(%{name: "dude", ap_id: "idididid", following: [User.ap_followers(user)]}) + + statuses = TwitterAPI.fetch_public_statuses(follower) assert length(statuses) == 1 - assert Enum.at(statuses, 0) == ActivityRepresenter.to_map(activity, %{user: user}) + assert Enum.at(statuses, 0) == ActivityRepresenter.to_map(activity, %{user: user, for: follower}) end test "fetch friends' statuses" do |