X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Factivity_test.exs;h=dd149543cd09e20952f67e547b612d81d39a309c;hb=3a7c14645ed726bd6b7deb6489ec0578c4d8cd79;hp=c47fe39dac9b2833f2e3f29e892a9bc024be9c32;hpb=18a4cbb244dbc188f5a391626fb98e3a53571318;p=akkoma diff --git a/test/activity_test.exs b/test/activity_test.exs index c47fe39da..dd149543c 100644 --- a/test/activity_test.exs +++ b/test/activity_test.exs @@ -1,18 +1,24 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.ActivityTest do use Pleroma.DataCase alias Pleroma.Activity + alias Pleroma.Bookmark + alias Pleroma.Object import Pleroma.Factory test "returns an activity by it's AP id" do activity = insert(:note_activity) - found_activity = Pleroma.Activity.get_by_ap_id(activity.data["id"]) + found_activity = Activity.get_by_ap_id(activity.data["id"]) assert activity == found_activity end test "returns activities by it's objects AP ids" do activity = insert(:note_activity) - [found_activity] = Pleroma.Activity.all_by_object_ap_id(activity.data["object"]["id"]) + [found_activity] = Activity.get_all_create_by_object_ap_id(activity.data["object"]["id"]) assert activity == found_activity end @@ -20,33 +26,57 @@ defmodule Pleroma.ActivityTest do test "returns the activity that created an object" do activity = insert(:note_activity) - found_activity = - Pleroma.Activity.get_create_activity_by_object_ap_id(activity.data["object"]["id"]) + found_activity = Activity.get_create_by_object_ap_id(activity.data["object"]["id"]) assert activity == found_activity end - test "returns tombstone" do - activity = insert(:note_activity) - deleted = DateTime.utc_now() - - assert Pleroma.Activity.get_tombstone(activity, deleted) == %{ - id: activity.data["object"]["id"], - context: activity.data["context"], - type: "Tombstone", - published: activity.data["published"], - deleted: deleted - } - end + describe "preloading bookmarks" do + setup do + user1 = insert(:user) + user2 = insert(:user) + activity = insert(:note_activity) + {:ok, bookmark1} = Bookmark.create(user1.id, activity.id) + {:ok, bookmark2} = Bookmark.create(user2.id, activity.id) + [activity: activity, bookmarks: Enum.sort([bookmark1, bookmark2])] + end - test "swaps data with tombstone" do - activity = insert(:note_activity) + test "using with_preloaded_bookmarks", %{activity: activity, bookmarks: bookmarks} do + queried_activity = + Ecto.Query.from(a in Activity, where: a.id == ^activity.id) + |> Activity.with_preloaded_bookmarks() + |> Repo.one() + + assert Enum.sort(queried_activity.bookmarks) == bookmarks + end + + test "using with_preloaded_object", %{activity: activity, bookmarks: bookmarks} do + queried_activity = + Ecto.Query.from(a in Activity, where: a.id == ^activity.id) + |> Activity.with_preloaded_object() + |> Repo.one() + + assert Enum.sort(queried_activity.bookmarks) == bookmarks + end + + test "using get_by_ap_id_with_object", %{activity: activity, bookmarks: bookmarks} do + queried_activity = Activity.get_by_ap_id_with_object(activity.data["id"]) + assert Enum.sort(queried_activity.bookmarks) == bookmarks + end - {:ok, deleted} = Pleroma.Activity.swap_data_with_tombstone(activity) - assert deleted.data.type == "Tombstone" + test "using get_by_id_with_object", %{activity: activity, bookmarks: bookmarks} do + queried_activity = Activity.get_by_id_with_object(activity.id) + assert Enum.sort(queried_activity.bookmarks) == bookmarks + end - found_activity = Repo.get(Activity, activity.id) + test "using get_create_by_object_ap_id_with_object", %{ + activity: activity, + bookmarks: bookmarks + } do + queried_activity = + Activity.get_create_by_object_ap_id_with_object(Object.normalize(activity).data["id"]) - assert deleted.data.type == found_activity.data["type"] + assert Enum.sort(queried_activity.bookmarks) == bookmarks + end end end