M .rubocop_todo.yml => .rubocop_todo.yml +0 -13
@@ 1629,19 1629,6 @@ RSpec/RepeatedExampleGroupDescription:
- 'spec/controllers/admin/reports/actions_controller_spec.rb'
- 'spec/policies/report_note_policy_spec.rb'
-# Offense count: 18
-# This cop supports safe autocorrection (--autocorrect).
-RSpec/ScatteredLet:
- Exclude:
- - 'spec/controllers/admin/domain_blocks_controller_spec.rb'
- - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb'
- - 'spec/controllers/api/v1/push/subscriptions_controller_spec.rb'
- - 'spec/lib/activitypub/activity/create_spec.rb'
- - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb'
- - 'spec/services/activitypub/process_status_update_service_spec.rb'
- - 'spec/services/fan_out_on_write_service_spec.rb'
- - 'spec/services/import_service_spec.rb'
-
# Offense count: 12
RSpec/ScatteredSetup:
Exclude:
M spec/controllers/admin/domain_blocks_controller_spec.rb => spec/controllers/admin/domain_blocks_controller_spec.rb +4 -5
@@ 72,16 72,15 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
describe 'PUT #update' do
let!(:remote_account) { Fabricate(:account, domain: 'example.com') }
- let(:domain_block) { Fabricate(:domain_block, domain: 'example.com', severity: original_severity) }
+ let(:subject) do
+ post :update, params: { id: domain_block.id, domain_block: { domain: 'example.com', severity: new_severity } }
+ end
+ let(:domain_block) { Fabricate(:domain_block, domain: 'example.com', severity: original_severity) }
before do
BlockDomainService.new.call(domain_block)
end
- let(:subject) do
- post :update, params: { id: domain_block.id, domain_block: { domain: 'example.com', severity: new_severity } }
- end
-
context 'downgrading a domain suspension to silence' do
let(:original_severity) { 'suspend' }
let(:new_severity) { 'silence' }
M spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb => spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb +4 -5
@@ 73,16 73,15 @@ RSpec.describe Api::V1::Admin::DomainBlocksController, type: :controller do
describe 'PUT #update' do
let!(:remote_account) { Fabricate(:account, domain: 'example.com') }
- let(:domain_block) { Fabricate(:domain_block, domain: 'example.com', severity: original_severity) }
+ let(:subject) do
+ post :update, params: { id: domain_block.id, domain: 'example.com', severity: new_severity }
+ end
+ let(:domain_block) { Fabricate(:domain_block, domain: 'example.com', severity: original_severity) }
before do
BlockDomainService.new.call(domain_block)
end
- let(:subject) do
- post :update, params: { id: domain_block.id, domain: 'example.com', severity: new_severity }
- end
-
context 'downgrading a domain suspension to silence' do
let(:original_severity) { 'suspend' }
let(:new_severity) { 'silence' }
M spec/controllers/api/v1/push/subscriptions_controller_spec.rb => spec/controllers/api/v1/push/subscriptions_controller_spec.rb +6 -8
@@ 5,13 5,7 @@ require 'rails_helper'
describe Api::V1::Push::SubscriptionsController do
render_views
- let(:user) { Fabricate(:user) }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'push') }
-
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
+ let(:user) { Fabricate(:user) }
let(:create_payload) do
{
subscription: {
@@ 23,7 17,6 @@ describe Api::V1::Push::SubscriptionsController do
},
}.with_indifferent_access
end
-
let(:alerts_payload) do
{
data: {
@@ 41,6 34,11 @@ describe Api::V1::Push::SubscriptionsController do
},
}.with_indifferent_access
end
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'push') }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
describe 'POST #create' do
before do
M spec/lib/activitypub/activity/create_spec.rb => spec/lib/activitypub/activity/create_spec.rb +21 -25
@@ 753,10 753,6 @@ RSpec.describe ActivityPub::Activity::Create do
context 'with an encrypted message' do
let(:recipient) { Fabricate(:account) }
- let(:target_device) { Fabricate(:device, account: recipient) }
-
- subject { described_class.new(json, sender, delivery: true, delivered_to_account_id: recipient.id) }
-
let(:object_json) do
{
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ 778,6 774,9 @@ RSpec.describe ActivityPub::Activity::Create do
},
}
end
+ let(:target_device) { Fabricate(:device, account: recipient) }
+
+ subject { described_class.new(json, sender, delivery: true, delivered_to_account_id: recipient.id) }
before do
subject.perform
@@ 833,13 832,6 @@ RSpec.describe ActivityPub::Activity::Create do
context 'when sender replies to local status' do
let!(:local_status) { Fabricate(:status) }
-
- subject { described_class.new(json, sender, delivery: true) }
-
- before do
- subject.perform
- end
-
let(:object_json) do
{
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ 849,6 841,12 @@ RSpec.describe ActivityPub::Activity::Create do
}
end
+ subject { described_class.new(json, sender, delivery: true) }
+
+ before do
+ subject.perform
+ end
+
it 'creates status' do
status = sender.statuses.first
@@ 859,13 857,6 @@ RSpec.describe ActivityPub::Activity::Create do
context 'when sender targets a local user' do
let!(:local_account) { Fabricate(:account) }
-
- subject { described_class.new(json, sender, delivery: true) }
-
- before do
- subject.perform
- end
-
let(:object_json) do
{
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ 875,6 866,12 @@ RSpec.describe ActivityPub::Activity::Create do
}
end
+ subject { described_class.new(json, sender, delivery: true) }
+
+ before do
+ subject.perform
+ end
+
it 'creates status' do
status = sender.statuses.first
@@ 885,13 882,6 @@ RSpec.describe ActivityPub::Activity::Create do
context 'when sender cc\'s a local user' do
let!(:local_account) { Fabricate(:account) }
-
- subject { described_class.new(json, sender, delivery: true) }
-
- before do
- subject.perform
- end
-
let(:object_json) do
{
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ 901,6 891,12 @@ RSpec.describe ActivityPub::Activity::Create do
}
end
+ subject { described_class.new(json, sender, delivery: true) }
+
+ before do
+ subject.perform
+ end
+
it 'creates status' do
status = sender.statuses.first
M spec/lib/vacuum/media_attachments_vacuum_spec.rb => spec/lib/vacuum/media_attachments_vacuum_spec.rb +2 -3
@@ 2,12 2,11 @@ require 'rails_helper'
RSpec.describe Vacuum::MediaAttachmentsVacuum do
let(:retention_period) { 7.days }
-
- subject { described_class.new(retention_period) }
-
let(:remote_status) { Fabricate(:status, account: Fabricate(:account, domain: 'example.com')) }
let(:local_status) { Fabricate(:status) }
+ subject { described_class.new(retention_period) }
+
describe '#perform' do
let!(:old_remote_media) { Fabricate(:media_attachment, remote_url: 'https://example.com/foo.png', status: remote_status, created_at: (retention_period + 1.day).ago, updated_at: (retention_period + 1.day).ago) }
let!(:old_local_media) { Fabricate(:media_attachment, status: local_status, created_at: (retention_period + 1.day).ago, updated_at: (retention_period + 1.day).ago) }
M spec/services/activitypub/process_status_update_service_spec.rb => spec/services/activitypub/process_status_update_service_spec.rb +13 -15
@@ 6,20 6,6 @@ end
RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
let!(:status) { Fabricate(:status, text: 'Hello world', account: Fabricate(:account, domain: 'example.com')) }
-
- let(:alice) { Fabricate(:account) }
- let(:bob) { Fabricate(:account) }
-
- let(:mentions) { [] }
- let(:tags) { [] }
- let(:media_attachments) { [] }
-
- before do
- mentions.each { |a| Fabricate(:mention, status: status, account: a) }
- tags.each { |t| status.tags << t }
- media_attachments.each { |m| status.media_attachments << m }
- end
-
let(:payload) do
{
'@context': 'https://www.w3.org/ns/activitystreams',
@@ 34,9 20,21 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
],
}
end
-
let(:json) { Oj.load(Oj.dump(payload)) }
+ let(:alice) { Fabricate(:account) }
+ let(:bob) { Fabricate(:account) }
+
+ let(:mentions) { [] }
+ let(:tags) { [] }
+ let(:media_attachments) { [] }
+
+ before do
+ mentions.each { |a| Fabricate(:mention, status: status, account: a) }
+ tags.each { |t| status.tags << t }
+ media_attachments.each { |m| status.media_attachments << m }
+ end
+
subject { described_class.new }
describe '#call' do
M spec/services/fan_out_on_write_service_spec.rb => spec/services/fan_out_on_write_service_spec.rb +1 -2
@@ 2,6 2,7 @@ require 'rails_helper'
RSpec.describe FanOutOnWriteService, type: :service do
let(:last_active_at) { Time.now.utc }
+ let(:status) { Fabricate(:status, account: alice, visibility: visibility, text: 'Hello @bob #hoge') }
let!(:alice) { Fabricate(:user, current_sign_in_at: last_active_at).account }
let!(:bob) { Fabricate(:user, current_sign_in_at: last_active_at, account_attributes: { username: 'bob' }).account }
@@ 9,8 10,6 @@ RSpec.describe FanOutOnWriteService, type: :service do
subject { described_class.new }
- let(:status) { Fabricate(:status, account: alice, visibility: visibility, text: 'Hello @bob #hoge') }
-
before do
bob.follow!(alice)
tom.follow!(alice)
M spec/services/import_service_spec.rb => spec/services/import_service_spec.rb +5 -7
@@ 183,15 183,14 @@ RSpec.describe ImportService, type: :service do
subject { ImportService.new }
let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') }
+ let(:csv) { attachment_fixture('utf8-followers.txt') }
+ let(:import) { Import.create(account: account, type: 'following', data: csv) }
# Make sure to not actually go to the remote server
before do
stub_request(:post, 'https://թութ.հայ/inbox').to_return(status: 200)
end
- let(:csv) { attachment_fixture('utf8-followers.txt') }
- let(:import) { Import.create(account: account, type: 'following', data: csv) }
-
it 'follows the listed account' do
expect(account.follow_requests.count).to eq 0
subject.call(import)
@@ 203,6 202,9 @@ RSpec.describe ImportService, type: :service do
subject { ImportService.new }
let(:csv) { attachment_fixture('bookmark-imports.txt') }
+ let(:local_account) { Fabricate(:account, username: 'foo', domain: '') }
+ let!(:remote_status) { Fabricate(:status, uri: 'https://example.com/statuses/1312') }
+ let!(:direct_status) { Fabricate(:status, uri: 'https://example.com/statuses/direct', visibility: :direct) }
around(:each) do |example|
local_before = Rails.configuration.x.local_domain
@@ 214,10 216,6 @@ RSpec.describe ImportService, type: :service do
Rails.configuration.x.local_domain = local_before
end
- let(:local_account) { Fabricate(:account, username: 'foo', domain: '') }
- let!(:remote_status) { Fabricate(:status, uri: 'https://example.com/statuses/1312') }
- let!(:direct_status) { Fabricate(:status, uri: 'https://example.com/statuses/direct', visibility: :direct) }
-
before do
service = double
allow(ActivityPub::FetchRemoteStatusService).to receive(:new).and_return(service)