about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Schonning <nschonni@gmail.com>2023-02-19 21:17:41 -0500
committerGitHub <noreply@github.com>2023-02-20 11:17:41 +0900
commit5179c47087e7807162f1466ec61a797586de007f (patch)
tree106d584a459714b39a3b2fe1a87492fa2cdedc74
parentaef0051fd0723ff03175a8851497056ed07d1a83 (diff)
Autofix Rubocops RSpec/ScatteredLet (#23725)
-rw-r--r--.rubocop_todo.yml13
-rw-r--r--spec/controllers/admin/domain_blocks_controller_spec.rb9
-rw-r--r--spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb9
-rw-r--r--spec/controllers/api/v1/push/subscriptions_controller_spec.rb14
-rw-r--r--spec/lib/activitypub/activity/create_spec.rb46
-rw-r--r--spec/lib/vacuum/media_attachments_vacuum_spec.rb5
-rw-r--r--spec/services/activitypub/process_status_update_service_spec.rb28
-rw-r--r--spec/services/fan_out_on_write_service_spec.rb3
-rw-r--r--spec/services/import_service_spec.rb12
9 files changed, 56 insertions, 83 deletions
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 521608de6..308e0e69e 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -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:
diff --git a/spec/controllers/admin/domain_blocks_controller_spec.rb b/spec/controllers/admin/domain_blocks_controller_spec.rb
index 92fc19efa..d58a0cafc 100644
--- a/spec/controllers/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/admin/domain_blocks_controller_spec.rb
@@ -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' }
diff --git a/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb b/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
index 606def602..b367ab9ce 100644
--- a/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
@@ -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' }
diff --git a/spec/controllers/api/v1/push/subscriptions_controller_spec.rb b/spec/controllers/api/v1/push/subscriptions_controller_spec.rb
index 67f09da2d..168191468 100644
--- a/spec/controllers/api/v1/push/subscriptions_controller_spec.rb
+++ b/spec/controllers/api/v1/push/subscriptions_controller_spec.rb
@@ -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
diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb
index 132e0c31c..ddbdb07aa 100644
--- a/spec/lib/activitypub/activity/create_spec.rb
+++ b/spec/lib/activitypub/activity/create_spec.rb
@@ -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
 
diff --git a/spec/lib/vacuum/media_attachments_vacuum_spec.rb b/spec/lib/vacuum/media_attachments_vacuum_spec.rb
index be8458d9b..436237b25 100644
--- a/spec/lib/vacuum/media_attachments_vacuum_spec.rb
+++ b/spec/lib/vacuum/media_attachments_vacuum_spec.rb
@@ -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) }
diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb
index ae7db88bf..9a6d75ec0 100644
--- a/spec/services/activitypub/process_status_update_service_spec.rb
+++ b/spec/services/activitypub/process_status_update_service_spec.rb
@@ -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
diff --git a/spec/services/fan_out_on_write_service_spec.rb b/spec/services/fan_out_on_write_service_spec.rb
index 59e15d230..3c294cf95 100644
--- a/spec/services/fan_out_on_write_service_spec.rb
+++ b/spec/services/fan_out_on_write_service_spec.rb
@@ -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)
diff --git a/spec/services/import_service_spec.rb b/spec/services/import_service_spec.rb
index 2b1516ff0..4a517fb93 100644
--- a/spec/services/import_service_spec.rb
+++ b/spec/services/import_service_spec.rb
@@ -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)