Browse Source

fix order favorites activites

remote-follow-auth-fix
Maksim Pechnikov 4 years ago
parent
commit
708fd234bd
2 changed files with 6 additions and 2 deletions
  1. +1
    -1
      lib/pleroma/web/activity_pub/activity_pub.ex
  2. +5
    -1
      test/web/activity_pub/activity_pub_test.exs

+ 1
- 1
lib/pleroma/web/activity_pub/activity_pub.ex View File

@@ -1066,7 +1066,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|> Activity.with_joined_object()
|> Object.with_joined_activity()
|> select([_like, object, activity], %{activity | object: object})
|> order_by([like, _, _], desc: like.updated_at)
|> order_by([like, _, _], desc: like.id)
|> Pagination.fetch_paginated(
Map.merge(params, %{"skip_order" => true}),
pagination,


+ 5
- 1
test/web/activity_pub/activity_pub_test.exs View File

@@ -1559,6 +1559,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
describe "fetch_favourites/3" do
test "returns a favourite activities sorted by adds to favorite" do
user = insert(:user)
other_user = insert(:user)
user1 = insert(:user)
user2 = insert(:user)
{:ok, a1} = CommonAPI.post(user1, %{"status" => "bla"})
@@ -1568,13 +1569,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
{:ok, a5} = CommonAPI.post(user1, %{"status" => "Red or Blue "})

{:ok, _, _} = CommonAPI.favorite(a4.id, user)
{:ok, _, _} = CommonAPI.favorite(a3.id, other_user)
Process.sleep(1000)
{:ok, _, _} = CommonAPI.favorite(a3.id, user)
{:ok, _, _} = CommonAPI.favorite(a5.id, other_user)
Process.sleep(1000)
{:ok, _, _} = CommonAPI.favorite(a5.id, user)
{:ok, _, _} = CommonAPI.favorite(a4.id, other_user)
Process.sleep(1000)
{:ok, _, _} = CommonAPI.favorite(a1.id, user)
{:ok, _, _} = CommonAPI.favorite(a1.id, other_user)
result = ActivityPub.fetch_favourites(user)

assert Enum.map(result, & &1.id) == [a1.id, a5.id, a3.id, a4.id]


Loading…
Cancel
Save