Skip to content

Commit

Permalink
Add specs for Block causing unfollow and for out-of-order Block + Undo
Browse files Browse the repository at this point in the history
  • Loading branch information
ClearlyClaire committed Jan 1, 2019
1 parent c9274d3 commit af6ad4d
Showing 1 changed file with 62 additions and 5 deletions.
67 changes: 62 additions & 5 deletions spec/lib/activitypub/activity/block_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,72 @@
}.with_indifferent_access
end

describe '#perform' do
subject { described_class.new(json, sender) }
context 'when the recipient does not follow the sender' do
describe '#perform' do
subject { described_class.new(json, sender) }

before do
subject.perform
end

it 'creates a block from sender to recipient' do
expect(sender.blocking?(recipient)).to be true
end
end
end

context 'when the recipient follows the sender' do
before do
recipient.follow!(sender)
end

describe '#perform' do
subject { described_class.new(json, sender) }

before do
subject.perform
end

it 'creates a block from sender to recipient' do
expect(sender.blocking?(recipient)).to be true
end

it 'ensures recipient is not following sender' do
expect(recipient.following?(sender)).to be false
end
end
end

context 'when a matching undo has been received first' do
let(:undo_json) do
{
'@context': 'https://www.w3.org/ns/activitystreams',
id: 'bar',
type: 'Undo',
actor: ActivityPub::TagManager.instance.uri_for(sender),
object: json,
}.with_indifferent_access
end

before do
subject.perform
recipient.follow!(sender)
ActivityPub::Activity::Undo.new(undo_json, sender).perform
end

it 'creates a block from sender to recipient' do
expect(sender.blocking?(recipient)).to be true
describe '#perform' do
subject { described_class.new(json, sender) }

before do
subject.perform
end

it 'does not create a block from sender to recipient' do
expect(sender.blocking?(recipient)).to be false
end

it 'ensures recipient is not following sender' do
expect(recipient.following?(sender)).to be false
end
end
end
end

0 comments on commit af6ad4d

Please sign in to comment.