fix order favorites activites
authorMaksim Pechnikov <parallel588@gmail.com>
Tue, 19 Nov 2019 17:19:41 +0000 (20:19 +0300)
committerMaksim Pechnikov <parallel588@gmail.com>
Tue, 19 Nov 2019 17:19:41 +0000 (20:19 +0300)
lib/pleroma/web/activity_pub/activity_pub.ex
test/web/activity_pub/activity_pub_test.exs

index f1ff0ee0d5107c6c62e098c5dcaa057569bcfb9a..6eb69e183d4d99697842e039df0af5de51bb6ba5 100644 (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,
index 3322f00fea33f704fad3b0331fc1b71c8bfc814c..4f2d2d093713c75d1be5a44f6fcf48020247ab80 100644 (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]