logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

scrobble_controller_test.exs (2013B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.PleromaAPI.ScrobbleControllerTest do
  5. use Pleroma.Web.ConnCase, async: true
  6. alias Pleroma.Web.CommonAPI
  7. describe "POST /api/v1/pleroma/scrobble" do
  8. test "works correctly" do
  9. %{conn: conn} = oauth_access(["write"])
  10. conn =
  11. conn
  12. |> put_req_header("content-type", "application/json")
  13. |> post("/api/v1/pleroma/scrobble", %{
  14. "title" => "lain radio episode 1",
  15. "artist" => "lain",
  16. "album" => "lain radio",
  17. "length" => "180000",
  18. "externalLink" => "https://www.last.fm/music/lain/lain+radio/lain+radio+episode+1"
  19. })
  20. assert %{"title" => "lain radio episode 1"} = json_response_and_validate_schema(conn, 200)
  21. end
  22. end
  23. describe "GET /api/v1/pleroma/accounts/:id/scrobbles" do
  24. test "works correctly" do
  25. %{user: user, conn: conn} = oauth_access(["read"])
  26. {:ok, _activity} =
  27. CommonAPI.listen(user, %{
  28. title: "lain radio episode 1",
  29. artist: "lain",
  30. album: "lain radio",
  31. externalLink: "https://www.last.fm/music/lain/lain+radio/lain+radio+episode+1"
  32. })
  33. {:ok, _activity} =
  34. CommonAPI.listen(user, %{
  35. title: "lain radio episode 2",
  36. artist: "lain",
  37. album: "lain radio",
  38. externalLink: "https://www.last.fm/music/lain/lain+radio/lain+radio+episode+2"
  39. })
  40. {:ok, _activity} =
  41. CommonAPI.listen(user, %{
  42. title: "lain radio episode 3",
  43. artist: "lain",
  44. album: "lain radio",
  45. externalLink: "https://www.last.fm/music/lain/lain+radio/lain+radio+episode+3"
  46. })
  47. conn = get(conn, "/api/v1/pleroma/accounts/#{user.id}/scrobbles")
  48. result = json_response_and_validate_schema(conn, 200)
  49. assert length(result) == 3
  50. end
  51. end
  52. end