Commit 3707a7fa authored by kaniini's avatar kaniini
Browse files

tests: transmogrifier: ensure incoming blocks have the same effect as local blocks

parent e9ed7eb9
...@@ -382,6 +382,37 @@ test "it works for incoming blocks" do ...@@ -382,6 +382,37 @@ test "it works for incoming blocks" do
assert User.blocks?(blocker, user) assert User.blocks?(blocker, user)
end end
test "incoming blocks successfully tear down any follow relationship" do
blocker = insert(:user)
blocked = insert(:user)
data =!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!()
|> Map.put("object", blocked.ap_id)
|> Map.put("actor", blocker.ap_id)
{:ok, blocker} = User.follow(blocker, blocked)
{:ok, blocked} = User.follow(blocked, blocker)
assert User.following?(blocker, blocked)
assert User.following?(blocked, blocker)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
assert data["type"] == "Block"
assert data["object"] == blocked.ap_id
assert data["actor"] == blocker.ap_id
blocker = User.get_by_ap_id(data["actor"])
blocked = User.get_by_ap_id(data["object"])
assert User.blocks?(blocker, blocked)
refute User.following?(blocker, blocked)
refute User.following?(blocked, blocker)
test "it works for incoming unblocks with an existing block" do test "it works for incoming unblocks with an existing block" do
user = insert(:user) user = insert(:user)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment