Add test to the follow backend
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -579,6 +579,31 @@ defmodule Mobilizon.ActorsTest do
|
||||
follower = create_test_follower(context)
|
||||
assert %Ecto.Changeset{} = Actors.change_follower(follower)
|
||||
end
|
||||
|
||||
test "follow/3 makes an actor follow another", %{actor: actor, target_actor: target_actor} do
|
||||
# Preloading followers/followings
|
||||
actor = Actors.get_actor_with_everything!(actor.id)
|
||||
target_actor = Actors.get_actor_with_everything!(target_actor.id)
|
||||
|
||||
{:ok, follower} = Actor.follow(actor, target_actor)
|
||||
assert follower.actor.id == actor.id
|
||||
|
||||
# Referesh followers/followings
|
||||
actor = Actors.get_actor_with_everything!(actor.id)
|
||||
target_actor = Actors.get_actor_with_everything!(target_actor.id)
|
||||
|
||||
assert target_actor.followers |> Enum.map(&(&1.actor_id)) == [actor.id]
|
||||
assert actor.followings |> Enum.map(&(&1.target_actor_id)) == [target_actor.id]
|
||||
|
||||
# Test if actor is already following target actor
|
||||
{:error, msg} = Actor.follow(actor, target_actor)
|
||||
assert msg =~ "already following"
|
||||
|
||||
# Test if target actor is suspended
|
||||
target_actor = %{target_actor | suspended: true}
|
||||
{:error, msg} = Actor.follow(actor, target_actor)
|
||||
assert msg =~ "suspended"
|
||||
end
|
||||
end
|
||||
|
||||
describe "members" do
|
||||
|
||||
Reference in New Issue
Block a user