diff options
author | lain <lain@soykaf.club> | 2020-03-20 16:57:51 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-03-20 16:57:51 +0000 |
commit | d74405fc1a27bb3d13f4ead2bc2369f23827a781 (patch) | |
tree | a59a55c06108c3a10eaeffe415c38dacd84f3f2f /test/web/feed/user_controller_test.exs | |
parent | d23e81903dfe5032bb20b92bcc7dfb47434ba669 (diff) | |
parent | 89e4b3ebbd433032a2687712c9c6684902fe4ebe (diff) | |
download | pleroma-d74405fc1a27bb3d13f4ead2bc2369f23827a781.tar.gz pleroma-d74405fc1a27bb3d13f4ead2bc2369f23827a781.zip |
Merge branch 'fix-feed-pagination' into 'develop'
Fix for feed page pagination
Closes #1605
See merge request pleroma/pleroma!2281
Diffstat (limited to 'test/web/feed/user_controller_test.exs')
-rw-r--r-- | test/web/feed/user_controller_test.exs | 85 |
1 files changed, 82 insertions, 3 deletions
diff --git a/test/web/feed/user_controller_test.exs b/test/web/feed/user_controller_test.exs index 3e52eb42b..05ad427c2 100644 --- a/test/web/feed/user_controller_test.exs +++ b/test/web/feed/user_controller_test.exs @@ -52,12 +52,12 @@ defmodule Pleroma.Web.Feed.UserControllerTest do } ) - _note_activity2 = insert(:note_activity, note: note2) + note_activity2 = insert(:note_activity, note: note2) object = Object.normalize(note_activity) resp = conn - |> put_req_header("content-type", "application/atom+xml") + |> put_req_header("accept", "application/atom+xml") |> get(user_feed_path(conn, :feed, user.nickname)) |> response(200) @@ -68,12 +68,91 @@ defmodule Pleroma.Web.Feed.UserControllerTest do assert activity_titles == ['42 This...', 'This is...'] assert resp =~ object.data["content"] + + resp = + conn + |> put_req_header("accept", "application/atom+xml") + |> get("/users/#{user.nickname}/feed", %{"max_id" => note_activity2.id}) + |> response(200) + + activity_titles = + resp + |> SweetXml.parse() + |> SweetXml.xpath(~x"//entry/title/text()"l) + + assert activity_titles == ['This is...'] + end + + test "gets a rss feed", %{conn: conn} do + Pleroma.Config.put( + [:feed, :post_title], + %{max_length: 10, omission: "..."} + ) + + activity = insert(:note_activity) + + note = + insert(:note, + data: %{ + "content" => "This is :moominmamma: note ", + "attachment" => [ + %{ + "url" => [ + %{"mediaType" => "image/png", "href" => "https://pleroma.gov/image.png"} + ] + } + ], + "inReplyTo" => activity.data["id"] + } + ) + + note_activity = insert(:note_activity, note: note) + user = User.get_cached_by_ap_id(note_activity.data["actor"]) + + note2 = + insert(:note, + user: user, + data: %{ + "content" => "42 This is :moominmamma: note ", + "inReplyTo" => activity.data["id"] + } + ) + + note_activity2 = insert(:note_activity, note: note2) + object = Object.normalize(note_activity) + + resp = + conn + |> put_req_header("accept", "application/rss+xml") + |> get("/users/#{user.nickname}/feed.rss") + |> response(200) + + activity_titles = + resp + |> SweetXml.parse() + |> SweetXml.xpath(~x"//item/title/text()"l) + + assert activity_titles == ['42 This...', 'This is...'] + assert resp =~ object.data["content"] + + resp = + conn + |> put_req_header("accept", "application/rss+xml") + |> get("/users/#{user.nickname}/feed.rss", %{"max_id" => note_activity2.id}) + |> response(200) + + activity_titles = + resp + |> SweetXml.parse() + |> SweetXml.xpath(~x"//item/title/text()"l) + + assert activity_titles == ['This is...'] end test "returns 404 for a missing feed", %{conn: conn} do conn = conn - |> put_req_header("content-type", "application/atom+xml") + |> put_req_header("accept", "application/atom+xml") |> get(user_feed_path(conn, :feed, "nonexisting")) assert response(conn, 404) |