diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-03-23 15:51:34 +0100 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-03-23 15:51:34 +0100 |
commit | 9ad045fd587f83386d9582136c971dbcd4410b67 (patch) | |
tree | 54494c309d4f9b34cae343b8a2e4cc4a5878f4d0 /test | |
parent | 30650e5bc610810d129bf02891a73ac11340710b (diff) | |
download | pleroma-9ad045fd587f83386d9582136c971dbcd4410b67.tar.gz |
Return user specific json for logged in users.
Diffstat (limited to 'test')
-rw-r--r-- | test/user_test.exs | 8 | ||||
-rw-r--r-- | test/web/twitter_api/representers/activity_representer_test.exs | 6 | ||||
-rw-r--r-- | test/web/twitter_api/representers/user_representer_test.exs | 34 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 3 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 6 |
5 files changed, 44 insertions, 13 deletions
diff --git a/test/user_test.exs b/test/user_test.exs index e11bade93..f41063e9c 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -45,4 +45,12 @@ defmodule Pleroma.UserTest do assert user.following == [] end + + test "test if a user is following another user" do + { :ok, followed } = UserBuilder.insert(%{nickname: "guy"}) + { :ok, user } = UserBuilder.insert(%{following: [User.ap_followers(followed)]}) + + assert User.following?(user, followed) + refute User.following?(followed, user) + end end 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 |