1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.PleromaAPI.ScrobbleControllerTest do
6 use Pleroma.Web.ConnCase
8 alias Pleroma.Web.CommonAPI
10 describe "POST /api/v1/pleroma/scrobble" do
11 test "works correctly" do
12 %{conn: conn} = oauth_access(["write"])
15 post(conn, "/api/v1/pleroma/scrobble", %{
16 "title" => "lain radio episode 1",
18 "album" => "lain radio",
22 assert %{"title" => "lain radio episode 1"} = json_response(conn, 200)
26 describe "GET /api/v1/pleroma/accounts/:id/scrobbles" do
27 test "works correctly" do
28 %{user: user, conn: conn} = oauth_access(["read"])
31 CommonAPI.listen(user, %{
32 "title" => "lain radio episode 1",
34 "album" => "lain radio"
38 CommonAPI.listen(user, %{
39 "title" => "lain radio episode 2",
41 "album" => "lain radio"
45 CommonAPI.listen(user, %{
46 "title" => "lain radio episode 3",
48 "album" => "lain radio"
51 conn = get(conn, "/api/v1/pleroma/accounts/#{user.id}/scrobbles")
53 result = json_response(conn, 200)
55 assert length(result) == 3