Merge branch 'develop' into 'remove-twitter-api'
[akkoma] / test / web / mastodon_api / controllers / suggestion_controller_test.exs
index 78620a873009b8ec954344b2e8ba3488766c7b6a..7f08e187cfcfe650abae8c5b554d0a63b6a2f00c 100644 (file)
@@ -1,92 +1,18 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.MastodonAPI.SuggestionControllerTest do
   use Pleroma.Web.ConnCase
 
-  alias Pleroma.Config
-
-  import ExUnit.CaptureLog
-  import Pleroma.Factory
-  import Tesla.Mock
-
-  setup do
-    user = insert(:user)
-    other_user = insert(:user)
-    host = Config.get([Pleroma.Web.Endpoint, :url, :host])
-    url500 = "http://test500?#{host}&#{user.nickname}"
-    url200 = "http://test200?#{host}&#{user.nickname}"
-
-    mock(fn
-      %{method: :get, url: ^url500} ->
-        %Tesla.Env{status: 500, body: "bad request"}
-
-      %{method: :get, url: ^url200} ->
-        %Tesla.Env{
-          status: 200,
-          body:
-            ~s([{"acct":"yj455","avatar":"https://social.heldscal.la/avatar/201.jpeg","avatar_static":"https://social.heldscal.la/avatar/s/201.jpeg"}, {"acct":"#{
-              other_user.ap_id
-            }","avatar":"https://social.heldscal.la/avatar/202.jpeg","avatar_static":"https://social.heldscal.la/avatar/s/202.jpeg"}])
-        }
-    end)
-
-    [user: user, other_user: other_user]
-  end
-
-  clear_config(:suggestions)
-
-  test "returns empty result when suggestions disabled", %{conn: conn, user: user} do
-    Config.put([:suggestions, :enabled], false)
+  setup do: oauth_access(["read"])
 
+  test "returns empty result", %{conn: conn} do
     res =
       conn
-      |> assign(:user, user)
       |> get("/api/v1/suggestions")
-      |> json_response(200)
+      |> json_response_and_validate_schema(200)
 
     assert res == []
   end
-
-  test "returns error", %{conn: conn, user: user} do
-    Config.put([:suggestions, :enabled], true)
-    Config.put([:suggestions, :third_party_engine], "http://test500?{{host}}&{{user}}")
-
-    assert capture_log(fn ->
-             res =
-               conn
-               |> assign(:user, user)
-               |> get("/api/v1/suggestions")
-               |> json_response(500)
-
-             assert res == "Something went wrong"
-           end) =~ "Could not retrieve suggestions"
-  end
-
-  test "returns suggestions", %{conn: conn, user: user, other_user: other_user} do
-    Config.put([:suggestions, :enabled], true)
-    Config.put([:suggestions, :third_party_engine], "http://test200?{{host}}&{{user}}")
-
-    res =
-      conn
-      |> assign(:user, user)
-      |> get("/api/v1/suggestions")
-      |> json_response(200)
-
-    assert res == [
-             %{
-               "acct" => "yj455",
-               "avatar" => "https://social.heldscal.la/avatar/201.jpeg",
-               "avatar_static" => "https://social.heldscal.la/avatar/s/201.jpeg",
-               "id" => 0
-             },
-             %{
-               "acct" => other_user.ap_id,
-               "avatar" => "https://social.heldscal.la/avatar/202.jpeg",
-               "avatar_static" => "https://social.heldscal.la/avatar/s/202.jpeg",
-               "id" => other_user.id
-             }
-           ]
-  end
 end