diff options
Diffstat (limited to 'test/web/pleroma_api/controllers')
| -rw-r--r-- | test/web/pleroma_api/controllers/scrobble_controller_test.exs | 63 | 
1 files changed, 63 insertions, 0 deletions
| diff --git a/test/web/pleroma_api/controllers/scrobble_controller_test.exs b/test/web/pleroma_api/controllers/scrobble_controller_test.exs new file mode 100644 index 000000000..881f8012c --- /dev/null +++ b/test/web/pleroma_api/controllers/scrobble_controller_test.exs @@ -0,0 +1,63 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaAPI.ScrobbleControllerTest do +  use Pleroma.Web.ConnCase + +  alias Pleroma.Web.CommonAPI +  import Pleroma.Factory + +  describe "POST /api/v1/pleroma/scrobble" do +    test "works correctly", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> 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) +    end +  end + +  describe "GET /api/v1/pleroma/accounts/:id/scrobbles" do +    test "works correctly", %{conn: conn} do +      user = insert(:user) + +      {:ok, _activity} = +        CommonAPI.listen(user, %{ +          "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" +        }) + +      {:ok, _activity} = +        CommonAPI.listen(user, %{ +          "title" => "lain radio episode 3", +          "artist" => "lain", +          "album" => "lain radio" +        }) + +      conn = +        conn +        |> get("/api/v1/pleroma/accounts/#{user.id}/scrobbles") + +      result = json_response(conn, 200) + +      assert length(result) == 3 +    end +  end +end | 
