diff options
author | pluralcafe-docker <docker@plural.cafe> | 2018-08-30 05:23:58 +0000 |
---|---|---|
committer | pluralcafe-docker <docker@plural.cafe> | 2018-08-30 05:23:58 +0000 |
commit | cc7437e25597e24b9a5f06f7991861506d9abe5c (patch) | |
tree | e627d32df29ef7ae30a67607caf3ecdc1ae333a9 /spec/lib/activitypub | |
parent | 395164add468b1079669699dfe8eeaab73f69c15 (diff) | |
parent | 5ce67276691c37baad149f2f89f765543f70e6f9 (diff) |
Merge branch 'glitch'
Diffstat (limited to 'spec/lib/activitypub')
-rw-r--r-- | spec/lib/activitypub/activity/accept_spec.rb | 26 | ||||
-rw-r--r-- | spec/lib/activitypub/activity/reject_spec.rb | 26 |
2 files changed, 52 insertions, 0 deletions
diff --git a/spec/lib/activitypub/activity/accept_spec.rb b/spec/lib/activitypub/activity/accept_spec.rb index 6503c83e3..883bab6ac 100644 --- a/spec/lib/activitypub/activity/accept_spec.rb +++ b/spec/lib/activitypub/activity/accept_spec.rb @@ -35,4 +35,30 @@ RSpec.describe ActivityPub::Activity::Accept do expect(recipient.requested?(sender)).to be false end end + + context 'given a relay' do + let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') } + + let(:json) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Accept', + actor: ActivityPub::TagManager.instance.uri_for(sender), + object: { + id: 'https://abc-123/456', + type: 'Follow', + actor: ActivityPub::TagManager.instance.uri_for(recipient), + object: ActivityPub::TagManager.instance.uri_for(sender), + }, + }.with_indifferent_access + end + + subject { described_class.new(json, sender) } + + it 'marks the relay as accepted' do + subject.perform + expect(relay.reload.accepted?).to be true + end + end end diff --git a/spec/lib/activitypub/activity/reject_spec.rb b/spec/lib/activitypub/activity/reject_spec.rb index 7fd95bcc6..e7205df8d 100644 --- a/spec/lib/activitypub/activity/reject_spec.rb +++ b/spec/lib/activitypub/activity/reject_spec.rb @@ -35,4 +35,30 @@ RSpec.describe ActivityPub::Activity::Reject do expect(recipient.requested?(sender)).to be false end end + + context 'given a relay' do + let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') } + + let(:json) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Reject', + actor: ActivityPub::TagManager.instance.uri_for(sender), + object: { + id: 'https://abc-123/456', + type: 'Follow', + actor: ActivityPub::TagManager.instance.uri_for(recipient), + object: ActivityPub::TagManager.instance.uri_for(sender), + }, + }.with_indifferent_access + end + + subject { described_class.new(json, sender) } + + it 'marks the relay as rejected' do + subject.perform + expect(relay.reload.rejected?).to be true + end + end end |