diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/support/factory.ex | 2 | ||||
-rw-r--r-- | test/user_test.exs | 15 | ||||
-rw-r--r-- | test/web/ostatus/activity_representer_test.exs | 4 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 10 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 10 | ||||
-rw-r--r-- | test/web/twitter_api/views/user_view_test.exs | 3 |
6 files changed, 29 insertions, 15 deletions
diff --git a/test/support/factory.ex b/test/support/factory.ex index 9bbf11f08..7f378915e 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -9,7 +9,7 @@ defmodule Pleroma.Factory do password_hash: Comeonin.Pbkdf2.hashpwsalt("test"), bio: sequence(:bio, &"Tester Number #{&1}") } - %{ user | ap_id: Pleroma.User.ap_id(user), follower_address: Pleroma.User.ap_followers(user) } + %{ user | ap_id: Pleroma.User.ap_id(user), follower_address: Pleroma.User.ap_followers(user), following: [Pleroma.User.ap_id(user)] } end def note_factory do diff --git a/test/user_test.exs b/test/user_test.exs index 430f56846..31c5962e2 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -36,7 +36,7 @@ defmodule Pleroma.UserTest do followed = User.get_by_ap_id(followed.ap_id) assert followed.info["follower_count"] == 1 - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following end test "following a remote user will ensure a websub subscription is present" do @@ -46,7 +46,7 @@ defmodule Pleroma.UserTest do assert followed.local == false {:ok, user} = User.follow(user, followed) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following query = from w in WebsubClientSubscription, where: w.topic == ^followed.info["topic"] @@ -66,6 +66,16 @@ defmodule Pleroma.UserTest do assert user.following == [] end + test "unfollow doesn't unfollow yourself" do + user = insert(:user) + + {:error, _} = User.unfollow(user, user) + + user = Repo.get(User, user.id) + assert user.following == [user.ap_id] + end + + test "test if a user is following another user" do followed = insert(:user) user = insert(:user, %{following: [User.ap_followers(followed)]}) @@ -309,6 +319,7 @@ defmodule Pleroma.UserTest do assert [addressed] == User.get_recipients_from_activity(activity) {:ok, user} = User.follow(user, actor) + {:ok, user_two} = User.follow(user_two, actor) recipients = User.get_recipients_from_activity(activity) assert length(recipients) == 2 assert user in recipients diff --git a/test/web/ostatus/activity_representer_test.exs b/test/web/ostatus/activity_representer_test.exs index 0d83ad964..ed7fdc432 100644 --- a/test/web/ostatus/activity_representer_test.exs +++ b/test/web/ostatus/activity_representer_test.exs @@ -41,7 +41,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do <link type="text/html" href="#{note_activity.data["object"]["id"]}" rel="alternate" /> <category term="2hu"/> <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> - <link name="moominmamma" rel="emoji" href="#{Pleroma.Web.Endpoint.static_url}/finmoji/128px/moominmamma-128.png" /> + <link name="2hu" rel="emoji" href="corndog.png" /> """ tuple = ActivityRepresenter.to_simple_form(note_activity, user) @@ -81,7 +81,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do <category term="2hu"/> <thr:in-reply-to ref="#{note.data["object"]["id"]}" href="someurl" /> <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/collection" href="http://activityschema.org/collection/public"/> - <link name="moominmamma" rel="emoji" href="#{Pleroma.Web.Endpoint.static_url}/finmoji/128px/moominmamma-128.png" /> + <link name="2hu" rel="emoji" href="corndog.png" /> """ tuple = ActivityRepresenter.to_simple_form(answer, user) diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 4ab18721d..d12ade132 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -288,7 +288,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do |> post("/api/friendships/create.json", %{user_id: followed.id}) current_user = Repo.get(User, current_user.id) - assert current_user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in current_user.following assert json_response(conn, 200) == UserView.render("show.json", %{user: followed, for: current_user}) end end @@ -304,7 +304,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do followed = insert(:user) {:ok, current_user} = User.follow(current_user, followed) - assert current_user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in current_user.following ActivityPub.follow(current_user, followed) conn = conn @@ -312,7 +312,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do |> post("/api/friendships/destroy.json", %{user_id: followed.id}) current_user = Repo.get(User, current_user.id) - assert current_user.following == [] + assert current_user.following == [current_user.ap_id] assert json_response(conn, 200) == UserView.render("show.json", %{user: followed, for: current_user}) end end @@ -548,8 +548,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do |> assign(:user, user) |> get("/api/friends/ids") - expected = Poison.encode!([followed_one.id, followed_two.id]) - assert json_response(conn, 200) == expected + expected = [followed_one.id, followed_two.id] + assert MapSet.equal?(MapSet.new(Poison.decode!(json_response(conn, 200))), MapSet.new(expected)) end end diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 06ecd9e75..96552f97e 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -28,13 +28,13 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do object = Repo.insert!(%Object{data: object_data}) input = %{ - "status" => "Hello again, @shp.<script></script>\nThis is on another line. #2hu #epic #phantasmagoric", + "status" => "Hello again, @shp.<script></script>\nThis is on another :moominmamma: line. #2hu #epic #phantasmagoric", "media_ids" => [object.id] } { :ok, activity = %Activity{} } = TwitterAPI.create_status(user, input) - assert get_in(activity.data, ["object", "content"]) == "Hello again, <a href='shp'>@shp</a>.<script></script><br>This is on another 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, <a href='shp'>@shp</a>.<script></script><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 @@ -43,6 +43,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do assert Enum.member?(get_in(activity.data, ["to"]), "shp") assert activity.local == true + assert %{"moominmamma" => "http://localhost:4001/finmoji/128px/moominmamma-128.png"} = activity.data["object"]["emoji"] + # hashtags assert activity.data["object"]["tag"] == ["2hu", "epic", "phantasmagoric"] @@ -179,7 +181,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do followed = insert(:user) {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"user_id" => followed.id}) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following { :error, msg } = TwitterAPI.follow(user, %{"user_id" => followed.id}) assert msg == "Could not follow user: #{followed.nickname} is already on your list." @@ -190,7 +192,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do followed = insert(:user) {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"screen_name" => followed.nickname}) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following followed = User.get_by_ap_id(followed.ap_id) assert followed.info["follower_count"] == 1 diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs index 9f8e15574..18a19ef70 100644 --- a/test/web/twitter_api/views/user_view_test.exs +++ b/test/web/twitter_api/views/user_view_test.exs @@ -92,7 +92,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do end test "A user that follows you", %{user: user} do - {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) + follower = insert(:user) + {:ok, follower} = User.follow(follower, user) {:ok, user} = User.update_follower_count(user) image = "https://placehold.it/48x48" represented = %{ |