diff options
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/activitypub/activity/flag_spec.rb | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/spec/lib/activitypub/activity/flag_spec.rb b/spec/lib/activitypub/activity/flag_spec.rb index 3f082a813..ec7359f2f 100644 --- a/spec/lib/activitypub/activity/flag_spec.rb +++ b/spec/lib/activitypub/activity/flag_spec.rb @@ -1,14 +1,15 @@ require 'rails_helper' RSpec.describe ActivityPub::Activity::Flag do - let(:sender) { Fabricate(:account, domain: 'example.com') } + let(:sender) { Fabricate(:account, domain: 'example.com', uri: 'http://example.com/account') } let(:flagged) { Fabricate(:account) } let(:status) { Fabricate(:status, account: flagged, uri: 'foobar') } + let(:flag_id) { nil } let(:json) do { '@context': 'https://www.w3.org/ns/activitystreams', - id: nil, + id: flag_id, type: 'Flag', content: 'Boo!!', actor: ActivityPub::TagManager.instance.uri_for(sender), @@ -34,4 +35,22 @@ RSpec.describe ActivityPub::Activity::Flag do expect(report.status_ids).to eq [status.id] end end + + describe '#perform with a defined uri' do + subject { described_class.new(json, sender) } + let (:flag_id) { 'http://example.com/reports/1' } + + before do + subject.perform + end + + it 'creates a report' do + report = Report.find_by(account: sender, target_account: flagged) + + expect(report).to_not be_nil + expect(report.comment).to eq 'Boo!!' + expect(report.status_ids).to eq [status.id] + expect(report.uri).to eq flag_id + end + end end |