diff options
Diffstat (limited to 'test/web/pleroma_api')
3 files changed, 51 insertions, 20 deletions
| diff --git a/test/web/pleroma_api/controllers/mascot_controller_test.exs b/test/web/pleroma_api/controllers/mascot_controller_test.exs index 617831b02..e2ead6e15 100644 --- a/test/web/pleroma_api/controllers/mascot_controller_test.exs +++ b/test/web/pleroma_api/controllers/mascot_controller_test.exs @@ -16,9 +16,12 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do        filename: "sound.mp3"      } -    ret_conn = put(conn, "/api/v1/pleroma/mascot", %{"file" => non_image_file}) +    ret_conn = +      conn +      |> put_req_header("content-type", "multipart/form-data") +      |> put("/api/v1/pleroma/mascot", %{"file" => non_image_file}) -    assert json_response(ret_conn, 415) +    assert json_response_and_validate_schema(ret_conn, 415)      file = %Plug.Upload{        content_type: "image/jpg", @@ -26,9 +29,12 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do        filename: "an_image.jpg"      } -    conn = put(conn, "/api/v1/pleroma/mascot", %{"file" => file}) +    conn = +      conn +      |> put_req_header("content-type", "multipart/form-data") +      |> put("/api/v1/pleroma/mascot", %{"file" => file}) -    assert %{"id" => _, "type" => image} = json_response(conn, 200) +    assert %{"id" => _, "type" => image} = json_response_and_validate_schema(conn, 200)    end    test "mascot retrieving" do @@ -37,7 +43,7 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do      # When user hasn't set a mascot, we should just get pleroma tan back      ret_conn = get(conn, "/api/v1/pleroma/mascot") -    assert %{"url" => url} = json_response(ret_conn, 200) +    assert %{"url" => url} = json_response_and_validate_schema(ret_conn, 200)      assert url =~ "pleroma-fox-tan-smol"      # When a user sets their mascot, we should get that back @@ -47,9 +53,12 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do        filename: "an_image.jpg"      } -    ret_conn = put(conn, "/api/v1/pleroma/mascot", %{"file" => file}) +    ret_conn = +      conn +      |> put_req_header("content-type", "multipart/form-data") +      |> put("/api/v1/pleroma/mascot", %{"file" => file}) -    assert json_response(ret_conn, 200) +    assert json_response_and_validate_schema(ret_conn, 200)      user = User.get_cached_by_id(user.id) @@ -58,7 +67,7 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do        |> assign(:user, user)        |> get("/api/v1/pleroma/mascot") -    assert %{"url" => url, "type" => "image"} = json_response(conn, 200) +    assert %{"url" => url, "type" => "image"} = json_response_and_validate_schema(conn, 200)      assert url =~ "an_image"    end  end diff --git a/test/web/pleroma_api/controllers/scrobble_controller_test.exs b/test/web/pleroma_api/controllers/scrobble_controller_test.exs index 1b945040c..f39c07ac6 100644 --- a/test/web/pleroma_api/controllers/scrobble_controller_test.exs +++ b/test/web/pleroma_api/controllers/scrobble_controller_test.exs @@ -12,14 +12,16 @@ defmodule Pleroma.Web.PleromaAPI.ScrobbleControllerTest do        %{conn: conn} = oauth_access(["write"])        conn = -        post(conn, "/api/v1/pleroma/scrobble", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/pleroma/scrobble", %{            "title" => "lain radio episode 1",            "artist" => "lain",            "album" => "lain radio",            "length" => "180000"          }) -      assert %{"title" => "lain radio episode 1"} = json_response(conn, 200) +      assert %{"title" => "lain radio episode 1"} = json_response_and_validate_schema(conn, 200)      end    end @@ -29,28 +31,28 @@ defmodule Pleroma.Web.PleromaAPI.ScrobbleControllerTest do        {:ok, _activity} =          CommonAPI.listen(user, %{ -          "title" => "lain radio episode 1", -          "artist" => "lain", -          "album" => "lain radio" +          title: "lain radio episode 1", +          artist: "lain", +          album: "lain radio"          })        {:ok, _activity} =          CommonAPI.listen(user, %{ -          "title" => "lain radio episode 2", -          "artist" => "lain", -          "album" => "lain radio" +          title: "lain radio episode 2", +          artist: "lain", +          album: "lain radio"          })        {:ok, _activity} =          CommonAPI.listen(user, %{ -          "title" => "lain radio episode 3", -          "artist" => "lain", -          "album" => "lain radio" +          title: "lain radio episode 3", +          artist: "lain", +          album: "lain radio"          })        conn = get(conn, "/api/v1/pleroma/accounts/#{user.id}/scrobbles") -      result = json_response(conn, 200) +      result = json_response_and_validate_schema(conn, 200)        assert length(result) == 3      end diff --git a/test/web/pleroma_api/views/scrobble_view_test.exs b/test/web/pleroma_api/views/scrobble_view_test.exs new file mode 100644 index 000000000..6bdb56509 --- /dev/null +++ b/test/web/pleroma_api/views/scrobble_view_test.exs @@ -0,0 +1,20 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaAPI.StatusViewTest do +  use Pleroma.DataCase + +  alias Pleroma.Web.PleromaAPI.ScrobbleView + +  import Pleroma.Factory + +  test "successfully renders a Listen activity (pleroma extension)" do +    listen_activity = insert(:listen) + +    status = ScrobbleView.render("show.json", activity: listen_activity) + +    assert status.length == listen_activity.data["object"]["length"] +    assert status.title == listen_activity.data["object"]["title"] +  end +end | 
