|
3 | 3 | require 'rails_helper' |
4 | 4 |
|
5 | 5 | RSpec.describe ActivityPub::Activity::Reject do |
6 | | - let(:sender) { Fabricate(:account) } |
| 6 | + let(:sender) { Fabricate(:remote_account) } |
7 | 7 | let(:recipient) { Fabricate(:account) } |
8 | 8 |
|
9 | 9 | let(:json) do |
|
129 | 129 | context 'with a QuoteRequest' do |
130 | 130 | let(:status) { Fabricate(:status, account: recipient) } |
131 | 131 | let(:quoted_status) { Fabricate(:status, account: sender) } |
132 | | - let(:quote) { Fabricate(:quote, status: status, quoted_status: quoted_status, activity_uri: 'https://abc-123/456') } |
| 132 | + let!(:quote) { Fabricate(:quote, status: status, quoted_status: quoted_status) } |
133 | 133 | let(:approval_uri) { "https://#{sender.domain}/approvals/1" } |
134 | 134 |
|
135 | 135 | let(:object_json) do |
136 | 136 | { |
137 | | - id: 'https://abc-123/456', |
| 137 | + id: quote.activity_uri, |
138 | 138 | type: 'QuoteRequest', |
139 | 139 | actor: ActivityPub::TagManager.instance.uri_for(recipient), |
140 | 140 | object: ActivityPub::TagManager.instance.uri_for(quoted_status), |
|
147 | 147 | .to change { quote.reload.rejected? }.from(false).to(true) |
148 | 148 | end |
149 | 149 | end |
| 150 | + |
| 151 | + context 'with a FeatureRequest' do |
| 152 | + let(:collection) { Fabricate(:collection, account: recipient) } |
| 153 | + let!(:collection_item) { Fabricate(:collection_item, collection:, account: sender, state: :pending) } |
| 154 | + let(:json) do |
| 155 | + { |
| 156 | + 'id' => 'https://example.com/accepts/1', |
| 157 | + 'type' => 'Accept', |
| 158 | + 'actor' => sender.uri, |
| 159 | + 'to' => ActivityPub::TagManager.instance.uri_for(recipient), |
| 160 | + 'object' => collection_item.activity_uri, |
| 161 | + } |
| 162 | + end |
| 163 | + |
| 164 | + it 'deletes the collection item' do |
| 165 | + expect { subject.perform }.to change(collection.collection_items, :count).by(-1) |
| 166 | + end |
| 167 | + end |
150 | 168 | end |
151 | 169 | end |
0 commit comments