describe "create activities" do
test "removes doubled 'to' recipients" do
+ user = insert(:user)
+
{:ok, activity} =
ActivityPub.create(%{
to: ["user1", "user1", "user2"],
- actor: %User{ap_id: "1"},
+ actor: user,
context: "",
object: %{}
})
assert activity.data["to"] == ["user1", "user2"]
- assert activity.actor == "1"
+ assert activity.actor == user.ap_id
assert activity.recipients == ["user1", "user2"]
end
end
user = insert(:user)
# Unannouncing an object that is not announced does nothing
- {:ok, object} = ActivityPub.unannounce(user, object)
- assert object.data["announcement_count"] == 0
+ # {:ok, object} = ActivityPub.unannounce(user, object)
+ # assert object.data["announcement_count"] == 0
{:ok, announce_activity, object} = ActivityPub.announce(user, object)
assert object.data["announcement_count"] == 1
- {:ok, object} = ActivityPub.unannounce(user, object)
+ {:ok, unannounce_activity, activity, object} = ActivityPub.unannounce(user, object)
assert object.data["announcement_count"] == 0
+ assert activity == announce_activity
+
+ assert unannounce_activity.data["to"] == [
+ User.ap_followers(user),
+ announce_activity.data["actor"]
+ ]
+
+ assert unannounce_activity.data["type"] == "Undo"
+ assert unannounce_activity.data["object"] == announce_activity.data
+ assert unannounce_activity.data["actor"] == user.ap_id
+ assert unannounce_activity.data["context"] == announce_activity.data["context"]
+
assert Repo.get(Activity, announce_activity.id) == nil
end
end