common api: move context functions from twitterapi
[akkoma] / test / web / twitter_api / twitter_api_test.exs
index 547592ff26926a3b8a6bdad5f5410e264c4db781..b823bfd68f6e00a4c0486aa20816d09df6776f39 100644 (file)
@@ -4,10 +4,15 @@
 
 defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
   use Pleroma.DataCase
-  alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView}
-  alias Pleroma.{Activity, User, Object, Repo, UserInviteToken}
+  alias Pleroma.Activity
+  alias Pleroma.Object
+  alias Pleroma.Repo
+  alias Pleroma.User
+  alias Pleroma.UserInviteToken
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.TwitterAPI.ActivityView
+  alias Pleroma.Web.TwitterAPI.TwitterAPI
+  alias Pleroma.Web.TwitterAPI.UserView
 
   import Pleroma.Factory
 
@@ -200,12 +205,27 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
 
   test "it favorites a status, returns the updated activity" do
     user = insert(:user)
+    other_user = insert(:user)
     note_activity = insert(:note_activity)
 
     {:ok, status} = TwitterAPI.fav(user, note_activity.id)
     updated_activity = Activity.get_by_ap_id(note_activity.data["id"])
+    assert ActivityView.render("activity.json", %{activity: updated_activity})["fave_num"] == 1
+
+    object = Object.normalize(note_activity.data["object"])
+
+    assert object.data["like_count"] == 1
 
     assert status == updated_activity
+
+    {:ok, _status} = TwitterAPI.fav(other_user, note_activity.id)
+
+    object = Object.normalize(note_activity.data["object"])
+
+    assert object.data["like_count"] == 2
+
+    updated_activity = Activity.get_by_ap_id(note_activity.data["id"])
+    assert ActivityView.render("activity.json", %{activity: updated_activity})["fave_num"] == 2
   end
 
   test "it unfavorites a status, returns the updated activity" do
@@ -425,22 +445,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
     :ok
   end
 
-  describe "context_to_conversation_id" do
-    test "creates a mapping object" do
-      conversation_id = TwitterAPI.context_to_conversation_id("random context")
-      object = Object.get_by_ap_id("random context")
-
-      assert conversation_id == object.id
-    end
-
-    test "returns an existing mapping for an existing object" do
-      {:ok, object} = Object.context_mapping("random context") |> Repo.insert()
-      conversation_id = TwitterAPI.context_to_conversation_id("random context")
-
-      assert conversation_id == object.id
-    end
-  end
-
   describe "fetching a user by uri" do
     test "fetches a user by uri" do
       id = "https://mastodon.social/users/lambadalambda"
@@ -451,7 +455,8 @@ 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_by_object_ap_id("tag:mastodon.social,2017-04-05:objectId=1641750:objectType=Status")
+      # credo:disable-for-previous-line Credo.Check.Readability.MaxLineLength
     end
   end
 end