Merge branch 'bugfix/rich-media-image-nil' into 'develop'
[akkoma] / test / web / mastodon_api / mastodon_api_controller_test.exs
index edc74d802630a7d672898bda21cdc2a72a23b4d6..8528d4f642bd139589fe672a392b9480b43c6fd6 100644 (file)
@@ -136,6 +136,22 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     assert Repo.get(Activity, id)
   end
 
+  test "posting a status with OGP link preview", %{conn: conn} do
+    Pleroma.Config.put([:rich_media, :enabled], true)
+    user = insert(:user)
+
+    conn =
+      conn
+      |> assign(:user, user)
+      |> post("/api/v1/statuses", %{
+        "status" => "http://example.com/ogp"
+      })
+
+    assert %{"id" => id, "card" => %{"title" => "The Rock"}} = json_response(conn, 200)
+    assert Repo.get(Activity, id)
+    Pleroma.Config.put([:rich_media, :enabled], false)
+  end
+
   test "posting a direct status", %{conn: conn} do
     user1 = insert(:user)
     user2 = insert(:user)
@@ -1653,6 +1669,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     end
 
     test "Status rich-media Card", %{conn: conn, user: user} do
+      Pleroma.Config.put([:rich_media, :enabled], true)
       {:ok, activity} = CommonAPI.post(user, %{"status" => "http://example.com/ogp"})
 
       response =
@@ -1663,10 +1680,22 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
       assert response == %{
                "image" => "http://ia.media-imdb.com/images/rock.jpg",
                "provider_name" => "www.imdb.com",
+               "provider_url" => "http://www.imdb.com",
                "title" => "The Rock",
                "type" => "link",
-               "url" => "http://www.imdb.com/title/tt0117500/"
+               "url" => "http://www.imdb.com/title/tt0117500/",
+               "description" => nil,
+               "pleroma" => %{
+                 "opengraph" => %{
+                   "image" => "http://ia.media-imdb.com/images/rock.jpg",
+                   "title" => "The Rock",
+                   "type" => "video.movie",
+                   "url" => "http://www.imdb.com/title/tt0117500/"
+                 }
+               }
              }
+
+      Pleroma.Config.put([:rich_media, :enabled], false)
     end
   end