diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index e5d05c1cb..e340cb5e8 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -328,115 +328,6 @@ RSpec/AnyInstance:
     - 'spec/workers/activitypub/delivery_worker_spec.rb'
     - 'spec/workers/web/push_notification_worker_spec.rb'
 
-# Configuration parameters: Prefixes, AllowedPatterns.
-# Prefixes: when, with, without
-RSpec/ContextWording:
-  Exclude:
-    - 'spec/config/initializers/rack_attack_spec.rb'
-    - 'spec/controllers/accounts_controller_spec.rb'
-    - 'spec/controllers/activitypub/collections_controller_spec.rb'
-    - 'spec/controllers/activitypub/inboxes_controller_spec.rb'
-    - 'spec/controllers/admin/domain_blocks_controller_spec.rb'
-    - 'spec/controllers/admin/reports/actions_controller_spec.rb'
-    - 'spec/controllers/admin/statuses_controller_spec.rb'
-    - 'spec/controllers/api/v1/accounts/relationships_controller_spec.rb'
-    - 'spec/controllers/api/v1/accounts_controller_spec.rb'
-    - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb'
-    - 'spec/controllers/api/v1/emails/confirmations_controller_spec.rb'
-    - 'spec/controllers/api/v1/instances/activity_controller_spec.rb'
-    - 'spec/controllers/api/v1/instances/peers_controller_spec.rb'
-    - 'spec/controllers/api/v1/media_controller_spec.rb'
-    - 'spec/controllers/api/v2/filters_controller_spec.rb'
-    - 'spec/controllers/application_controller_spec.rb'
-    - 'spec/controllers/auth/registrations_controller_spec.rb'
-    - 'spec/controllers/auth/sessions_controller_spec.rb'
-    - 'spec/controllers/concerns/cache_concern_spec.rb'
-    - 'spec/controllers/concerns/challengable_concern_spec.rb'
-    - 'spec/controllers/concerns/localized_spec.rb'
-    - 'spec/controllers/concerns/rate_limit_headers_spec.rb'
-    - 'spec/controllers/instance_actors_controller_spec.rb'
-    - 'spec/controllers/settings/applications_controller_spec.rb'
-    - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb'
-    - 'spec/controllers/statuses_controller_spec.rb'
-    - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb'
-    - 'spec/helpers/jsonld_helper_spec.rb'
-    - 'spec/helpers/routing_helper_spec.rb'
-    - 'spec/lib/activitypub/activity/accept_spec.rb'
-    - 'spec/lib/activitypub/activity/announce_spec.rb'
-    - 'spec/lib/activitypub/activity/create_spec.rb'
-    - 'spec/lib/activitypub/activity/follow_spec.rb'
-    - 'spec/lib/activitypub/activity/reject_spec.rb'
-    - 'spec/lib/emoji_formatter_spec.rb'
-    - 'spec/lib/entity_cache_spec.rb'
-    - 'spec/lib/feed_manager_spec.rb'
-    - 'spec/lib/html_aware_formatter_spec.rb'
-    - 'spec/lib/link_details_extractor_spec.rb'
-    - 'spec/lib/ostatus/tag_manager_spec.rb'
-    - 'spec/lib/scope_transformer_spec.rb'
-    - 'spec/lib/status_cache_hydrator_spec.rb'
-    - 'spec/lib/status_reach_finder_spec.rb'
-    - 'spec/lib/text_formatter_spec.rb'
-    - 'spec/models/account/field_spec.rb'
-    - 'spec/models/account_spec.rb'
-    - 'spec/models/admin/account_action_spec.rb'
-    - 'spec/models/concerns/account_interactions_spec.rb'
-    - 'spec/models/concerns/remotable_spec.rb'
-    - 'spec/models/custom_emoji_filter_spec.rb'
-    - 'spec/models/custom_emoji_spec.rb'
-    - 'spec/models/email_domain_block_spec.rb'
-    - 'spec/models/media_attachment_spec.rb'
-    - 'spec/models/notification_spec.rb'
-    - 'spec/models/remote_follow_spec.rb'
-    - 'spec/models/report_spec.rb'
-    - 'spec/models/session_activation_spec.rb'
-    - 'spec/models/setting_spec.rb'
-    - 'spec/models/status_spec.rb'
-    - 'spec/models/web/push_subscription_spec.rb'
-    - 'spec/policies/account_moderation_note_policy_spec.rb'
-    - 'spec/policies/account_policy_spec.rb'
-    - 'spec/policies/backup_policy_spec.rb'
-    - 'spec/policies/custom_emoji_policy_spec.rb'
-    - 'spec/policies/domain_block_policy_spec.rb'
-    - 'spec/policies/email_domain_block_policy_spec.rb'
-    - 'spec/policies/instance_policy_spec.rb'
-    - 'spec/policies/invite_policy_spec.rb'
-    - 'spec/policies/relay_policy_spec.rb'
-    - 'spec/policies/report_note_policy_spec.rb'
-    - 'spec/policies/report_policy_spec.rb'
-    - 'spec/policies/settings_policy_spec.rb'
-    - 'spec/policies/tag_policy_spec.rb'
-    - 'spec/policies/user_policy_spec.rb'
-    - 'spec/presenters/account_relationships_presenter_spec.rb'
-    - 'spec/presenters/status_relationships_presenter_spec.rb'
-    - 'spec/services/account_search_service_spec.rb'
-    - 'spec/services/account_statuses_cleanup_service_spec.rb'
-    - 'spec/services/activitypub/fetch_remote_status_service_spec.rb'
-    - 'spec/services/activitypub/process_account_service_spec.rb'
-    - 'spec/services/activitypub/process_status_update_service_spec.rb'
-    - 'spec/services/fetch_link_card_service_spec.rb'
-    - 'spec/services/fetch_oembed_service_spec.rb'
-    - 'spec/services/fetch_remote_status_service_spec.rb'
-    - 'spec/services/follow_service_spec.rb'
-    - 'spec/services/import_service_spec.rb'
-    - 'spec/services/notify_service_spec.rb'
-    - 'spec/services/process_mentions_service_spec.rb'
-    - 'spec/services/reblog_service_spec.rb'
-    - 'spec/services/report_service_spec.rb'
-    - 'spec/services/resolve_account_service_spec.rb'
-    - 'spec/services/resolve_url_service_spec.rb'
-    - 'spec/services/search_service_spec.rb'
-    - 'spec/services/unallow_domain_service_spec.rb'
-    - 'spec/services/verify_link_service_spec.rb'
-    - 'spec/validators/disallowed_hashtags_validator_spec.rb'
-    - 'spec/validators/email_mx_validator_spec.rb'
-    - 'spec/validators/follow_limit_validator_spec.rb'
-    - 'spec/validators/poll_validator_spec.rb'
-    - 'spec/validators/status_pin_validator_spec.rb'
-    - 'spec/validators/unreserved_username_validator_spec.rb'
-    - 'spec/validators/url_validator_spec.rb'
-    - 'spec/workers/move_worker_spec.rb'
-    - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
-
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SkipBlocks, EnforcedStyle.
 # SupportedStyles: described_class, explicit
diff --git a/spec/config/initializers/rack_attack_spec.rb b/spec/config/initializers/rack_attack_spec.rb
index 0411a48d2..7cd4ac76b 100644
--- a/spec/config/initializers/rack_attack_spec.rb
+++ b/spec/config/initializers/rack_attack_spec.rb
@@ -46,36 +46,36 @@ describe Rack::Attack, type: :request do
   let(:remote_ip) { '1.2.3.5' }
 
   describe 'throttle excessive sign-up requests by IP address' do
-    context 'through the website' do
+    context 'when accessed through the website' do
       let(:limit)  { 25 }
       let(:period) { 5.minutes }
       let(:request) { -> { post path, headers: { 'REMOTE_ADDR' => remote_ip } } }
 
-      context 'for exact path' do
+      context 'with exact path' do
         let(:path) { '/auth' }
 
         it_behaves_like 'throttled endpoint'
       end
 
-      context 'for path with format' do
+      context 'with path with format' do
         let(:path) { '/auth.html' }
 
         it_behaves_like 'throttled endpoint'
       end
     end
 
-    context 'through the API' do
+    context 'when accessed through the API' do
       let(:limit)  { 5 }
       let(:period) { 30.minutes }
       let(:request) { -> { post path, headers: { 'REMOTE_ADDR' => remote_ip } } }
 
-      context 'for exact path' do
+      context 'with exact path' do
         let(:path) { '/api/v1/accounts' }
 
         it_behaves_like 'throttled endpoint'
       end
 
-      context 'for path with format' do
+      context 'with path with format' do
         let(:path)  { '/api/v1/accounts.json' }
 
         it 'returns http not found' do
@@ -91,13 +91,13 @@ describe Rack::Attack, type: :request do
     let(:period) { 5.minutes }
     let(:request) { -> { post path, headers: { 'REMOTE_ADDR' => remote_ip } } }
 
-    context 'for exact path' do
+    context 'with exact path' do
       let(:path) { '/auth/sign_in' }
 
       it_behaves_like 'throttled endpoint'
     end
 
-    context 'for path with format' do
+    context 'with path with format' do
       let(:path) { '/auth/sign_in.html' }
 
       it_behaves_like 'throttled endpoint'
diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb
index 53fc75659..428dc2cba 100644
--- a/spec/controllers/accounts_controller_spec.rb
+++ b/spec/controllers/accounts_controller_spec.rb
@@ -57,7 +57,7 @@ RSpec.describe AccountsController, type: :controller do
       end
     end
 
-    context 'as HTML' do
+    context 'with HTML' do
       let(:format) { 'html' }
 
       it_behaves_like 'preliminary checks'
@@ -140,7 +140,7 @@ RSpec.describe AccountsController, type: :controller do
       end
     end
 
-    context 'as JSON' do
+    context 'with JSON' do
       let(:authorized_fetch_mode) { false }
       let(:format) { 'json' }
 
@@ -193,7 +193,7 @@ RSpec.describe AccountsController, type: :controller do
           expect(json).to include(:id, :type, :preferredUsername, :inbox, :publicKey, :name, :summary)
         end
 
-        context 'in authorized fetch mode' do
+        context 'with authorized fetch mode' do
           let(:authorized_fetch_mode) { true }
 
           it 'returns http unauthorized' do
@@ -251,7 +251,7 @@ RSpec.describe AccountsController, type: :controller do
           expect(json).to include(:id, :type, :preferredUsername, :inbox, :publicKey, :name, :summary)
         end
 
-        context 'in authorized fetch mode' do
+        context 'with authorized fetch mode' do
           let(:authorized_fetch_mode) { true }
 
           it 'returns http success' do
@@ -278,7 +278,7 @@ RSpec.describe AccountsController, type: :controller do
       end
     end
 
-    context 'as RSS' do
+    context 'with RSS' do
       let(:format) { 'rss' }
 
       it_behaves_like 'preliminary checks'
diff --git a/spec/controllers/activitypub/collections_controller_spec.rb b/spec/controllers/activitypub/collections_controller_spec.rb
index 6b35a1206..02d006573 100644
--- a/spec/controllers/activitypub/collections_controller_spec.rb
+++ b/spec/controllers/activitypub/collections_controller_spec.rb
@@ -119,7 +119,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do
           end
         end
 
-        context 'in authorized fetch mode' do
+        context 'with authorized fetch mode' do
           before do
             allow(controller).to receive(:authorized_fetch_mode?).and_return(true)
           end
diff --git a/spec/controllers/activitypub/inboxes_controller_spec.rb b/spec/controllers/activitypub/inboxes_controller_spec.rb
index 8d4084648..82146f34d 100644
--- a/spec/controllers/activitypub/inboxes_controller_spec.rb
+++ b/spec/controllers/activitypub/inboxes_controller_spec.rb
@@ -21,7 +21,7 @@ RSpec.describe ActivityPub::InboxesController, type: :controller do
         expect(response).to have_http_status(202)
       end
 
-      context 'for a specific account' do
+      context 'with a specific account' do
         subject(:response) { post :create, params: { account_username: account.username }, body: '{}' }
 
         let(:account) { Fabricate(:account) }
diff --git a/spec/controllers/admin/domain_blocks_controller_spec.rb b/spec/controllers/admin/domain_blocks_controller_spec.rb
index ef13f7676..99fb14614 100644
--- a/spec/controllers/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/admin/domain_blocks_controller_spec.rb
@@ -83,7 +83,7 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
       BlockDomainService.new.call(domain_block)
     end
 
-    context 'downgrading a domain suspension to silence' do
+    context 'when downgrading a domain suspension to silence' do
       let(:original_severity) { 'suspend' }
       let(:new_severity)      { 'silence' }
 
@@ -100,7 +100,7 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
       end
     end
 
-    context 'upgrading a domain silence to suspend' do
+    context 'when upgrading a domain silence to suspend' do
       let(:original_severity) { 'silence' }
       let(:new_severity)      { 'suspend' }
 
diff --git a/spec/controllers/admin/reports/actions_controller_spec.rb b/spec/controllers/admin/reports/actions_controller_spec.rb
index 4c2624a40..e9a8f74c0 100644
--- a/spec/controllers/admin/reports/actions_controller_spec.rb
+++ b/spec/controllers/admin/reports/actions_controller_spec.rb
@@ -146,13 +146,13 @@ describe Admin::Reports::ActionsController do
       end
     end
 
-    context 'action as submit button' do
+    context 'with Action as submit button' do
       subject { post :create, params: common_params.merge({ action => '' }) }
 
       it_behaves_like 'all action types'
     end
 
-    context 'action as submit button' do
+    context 'with Action as submit button' do
       subject { post :create, params: common_params.merge({ moderation_action: action }) }
 
       it_behaves_like 'all action types'
diff --git a/spec/controllers/admin/statuses_controller_spec.rb b/spec/controllers/admin/statuses_controller_spec.rb
index 79d83db97..e4954b62c 100644
--- a/spec/controllers/admin/statuses_controller_spec.rb
+++ b/spec/controllers/admin/statuses_controller_spec.rb
@@ -30,7 +30,7 @@ describe Admin::StatusesController do
       end
     end
 
-    context 'filtering by media' do
+    context 'when filtering by media' do
       before do
         get :index, params: { account_id: account.id, media: '1' }
       end
diff --git a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
index da8d7fe3f..6bc07fa9e 100644
--- a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
@@ -21,7 +21,7 @@ describe Api::V1::Accounts::RelationshipsController do
       lewis.follow!(user.account)
     end
 
-    context 'provided only one ID' do
+    context 'when provided only one ID' do
       before do
         get :index, params: { id: simon.id }
       end
@@ -39,7 +39,7 @@ describe Api::V1::Accounts::RelationshipsController do
       end
     end
 
-    context 'provided multiple IDs' do
+    context 'when provided multiple IDs' do
       before do
         get :index, params: { id: [simon.id, lewis.id] }
       end
diff --git a/spec/controllers/api/v1/accounts_controller_spec.rb b/spec/controllers/api/v1/accounts_controller_spec.rb
index 5fbb65021..84cbd9cc7 100644
--- a/spec/controllers/api/v1/accounts_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts_controller_spec.rb
@@ -30,7 +30,7 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
       post :create, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement }
     end
 
-    context 'given truthy agreement' do
+    context 'when given truthy agreement' do
       let(:agreement) { 'true' }
 
       it 'returns http success' do
@@ -48,7 +48,7 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
       end
     end
 
-    context 'given no agreement' do
+    context 'when given no agreement' do
       it 'returns http unprocessable entity' do
         expect(response).to have_http_status(422)
       end
@@ -121,7 +121,7 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
       end
     end
 
-    context 'modifying follow options' do
+    context 'when modifying follow options' do
       let(:locked) { false }
 
       before do
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 0460c701a..ca5f8b974 100644
--- a/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb
@@ -84,7 +84,7 @@ RSpec.describe Api::V1::Admin::DomainBlocksController, type: :controller do
       BlockDomainService.new.call(domain_block)
     end
 
-    context 'downgrading a domain suspension to silence' do
+    context 'when downgrading a domain suspension to silence' do
       let(:original_severity) { 'suspend' }
       let(:new_severity)      { 'silence' }
 
@@ -101,7 +101,7 @@ RSpec.describe Api::V1::Admin::DomainBlocksController, type: :controller do
       end
     end
 
-    context 'upgrading a domain silence to suspend' do
+    context 'when upgrading a domain silence to suspend' do
       let(:original_severity) { 'silence' }
       let(:new_severity)      { 'suspend' }
 
diff --git a/spec/controllers/api/v1/emails/confirmations_controller_spec.rb b/spec/controllers/api/v1/emails/confirmations_controller_spec.rb
index fc9843fef..91defc086 100644
--- a/spec/controllers/api/v1/emails/confirmations_controller_spec.rb
+++ b/spec/controllers/api/v1/emails/confirmations_controller_spec.rb
@@ -15,14 +15,14 @@ RSpec.describe Api::V1::Emails::ConfirmationsController, type: :controller do
         allow(controller).to receive(:doorkeeper_token) { token }
       end
 
-      context 'from a random app' do
+      context 'when from a random app' do
         it 'returns http forbidden' do
           post :create
           expect(response).to have_http_status(403)
         end
       end
 
-      context 'from an app that created the account' do
+      context 'when from an app that created the account' do
         before do
           user.update(created_by_application: token.application)
         end
@@ -35,7 +35,7 @@ RSpec.describe Api::V1::Emails::ConfirmationsController, type: :controller do
             expect(response).to have_http_status(403)
           end
 
-          context 'but user changed e-mail and has not confirmed it' do
+          context 'with user changed e-mail and has not confirmed it' do
             before do
               user.update(email: 'foo@bar.com')
             end
diff --git a/spec/controllers/api/v1/instances/activity_controller_spec.rb b/spec/controllers/api/v1/instances/activity_controller_spec.rb
index 159792ee0..0dcbd3a63 100644
--- a/spec/controllers/api/v1/instances/activity_controller_spec.rb
+++ b/spec/controllers/api/v1/instances/activity_controller_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe Api::V1::Instances::ActivityController, type: :controller do
       expect(response).to have_http_status(200)
     end
 
-    context '!Setting.activity_api_enabled' do
+    context 'with !Setting.activity_api_enabled' do
       it 'returns 404' do
         Setting.activity_api_enabled = false
 
diff --git a/spec/controllers/api/v1/instances/peers_controller_spec.rb b/spec/controllers/api/v1/instances/peers_controller_spec.rb
index 12a214a83..532443d1f 100644
--- a/spec/controllers/api/v1/instances/peers_controller_spec.rb
+++ b/spec/controllers/api/v1/instances/peers_controller_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe Api::V1::Instances::PeersController, type: :controller do
       expect(response).to have_http_status(200)
     end
 
-    context '!Setting.peers_api_enabled' do
+    context 'with !Setting.peers_api_enabled' do
       it 'returns 404' do
         Setting.peers_api_enabled = false
 
diff --git a/spec/controllers/api/v1/media_controller_spec.rb b/spec/controllers/api/v1/media_controller_spec.rb
index 90379dd92..23e8664aa 100644
--- a/spec/controllers/api/v1/media_controller_spec.rb
+++ b/spec/controllers/api/v1/media_controller_spec.rb
@@ -37,7 +37,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
       end
     end
 
-    context 'image/jpeg' do
+    context 'with image/jpeg' do
       before do
         post :create, params: { file: fixture_file_upload('attachment.jpg', 'image/jpeg') }
       end
@@ -59,7 +59,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
       end
     end
 
-    context 'image/gif' do
+    context 'with image/gif' do
       before do
         post :create, params: { file: fixture_file_upload('attachment.gif', 'image/gif') }
       end
@@ -81,7 +81,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
       end
     end
 
-    context 'video/webm' do
+    context 'with video/webm' do
       before do
         post :create, params: { file: fixture_file_upload('attachment.webm', 'video/webm') }
       end
diff --git a/spec/controllers/api/v2/filters_controller_spec.rb b/spec/controllers/api/v2/filters_controller_spec.rb
index 2b5610a4d..4334a46fe 100644
--- a/spec/controllers/api/v2/filters_controller_spec.rb
+++ b/spec/controllers/api/v2/filters_controller_spec.rb
@@ -66,7 +66,7 @@ RSpec.describe Api::V2::FiltersController, type: :controller do
     let!(:filter)  { Fabricate(:custom_filter, account: user.account) }
     let!(:keyword) { Fabricate(:custom_filter_keyword, custom_filter: filter) }
 
-    context 'updating filter parameters' do
+    context 'when updating filter parameters' do
       before do
         put :update, params: { id: filter.id, title: 'updated', context: %w(home public) }
       end
@@ -84,7 +84,7 @@ RSpec.describe Api::V2::FiltersController, type: :controller do
       end
     end
 
-    context 'updating keywords in bulk' do
+    context 'when updating keywords in bulk' do
       before do
         allow(redis).to receive_messages(publish: nil)
         put :update, params: { id: filter.id, keywords_attributes: [{ id: keyword.id, keyword: 'updated' }] }
diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb
index 46f7664d8..a8344d054 100644
--- a/spec/controllers/application_controller_spec.rb
+++ b/spec/controllers/application_controller_spec.rb
@@ -32,7 +32,7 @@ describe ApplicationController, type: :controller do
     end
   end
 
-  context 'forgery' do
+  context 'with a forgery' do
     subject do
       ActionController::Base.allow_forgery_protection = true
       routes.draw { post 'success' => 'anonymous#success' }
@@ -105,7 +105,7 @@ describe ApplicationController, type: :controller do
     end
   end
 
-  context 'ActionController::RoutingError' do
+  context 'with ActionController::RoutingError' do
     subject do
       routes.draw { get 'routing_error' => 'anonymous#routing_error' }
       get 'routing_error'
@@ -114,7 +114,7 @@ describe ApplicationController, type: :controller do
     include_examples 'respond_with_error', 404
   end
 
-  context 'ActiveRecord::RecordNotFound' do
+  context 'with ActiveRecord::RecordNotFound' do
     subject do
       routes.draw { get 'record_not_found' => 'anonymous#record_not_found' }
       get 'record_not_found'
@@ -123,7 +123,7 @@ describe ApplicationController, type: :controller do
     include_examples 'respond_with_error', 404
   end
 
-  context 'ActionController::InvalidAuthenticityToken' do
+  context 'with ActionController::InvalidAuthenticityToken' do
     subject do
       routes.draw { get 'invalid_authenticity_token' => 'anonymous#invalid_authenticity_token' }
       get 'invalid_authenticity_token'
@@ -252,7 +252,7 @@ describe ApplicationController, type: :controller do
       expect(subject.new.cache_collection(raw, Object)).to eq raw
     end
 
-    context 'Status' do
+    context 'with a Status' do
       include_examples 'cacheable', :status, Status
     end
   end
diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb
index 5c422bdff..3a77aed94 100644
--- a/spec/controllers/auth/registrations_controller_spec.rb
+++ b/spec/controllers/auth/registrations_controller_spec.rb
@@ -157,7 +157,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       end
     end
 
-    context 'approval-based registrations without invite' do
+    context 'with Approval-based registrations without invite' do
       subject do
         Setting.registrations_mode = 'approved'
         request.headers['Accept-Language'] = accept_language
@@ -184,7 +184,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       end
     end
 
-    context 'approval-based registrations with expired invite' do
+    context 'with Approval-based registrations with expired invite' do
       subject do
         Setting.registrations_mode = 'approved'
         request.headers['Accept-Language'] = accept_language
@@ -212,7 +212,7 @@ RSpec.describe Auth::RegistrationsController, type: :controller do
       end
     end
 
-    context 'approval-based registrations with valid invite and required invite text' do
+    context 'with Approval-based registrations with valid invite and required invite text' do
       subject do
         inviter = Fabricate(:user, confirmed_at: 2.days.ago)
         Setting.registrations_mode = 'approved'
diff --git a/spec/controllers/auth/sessions_controller_spec.rb b/spec/controllers/auth/sessions_controller_spec.rb
index 58befa124..bbf4c0c88 100644
--- a/spec/controllers/auth/sessions_controller_spec.rb
+++ b/spec/controllers/auth/sessions_controller_spec.rb
@@ -51,8 +51,8 @@ RSpec.describe Auth::SessionsController, type: :controller do
   end
 
   describe 'POST #create' do
-    context 'using PAM authentication', if: ENV['PAM_ENABLED'] == 'true' do
-      context 'using a valid password' do
+    context 'when using PAM authentication', if: ENV['PAM_ENABLED'] == 'true' do
+      context 'when using a valid password' do
         before do
           post :create, params: { user: { email: 'pam_user1', password: '123456' } }
         end
@@ -66,7 +66,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using an invalid password' do
+      context 'when using an invalid password' do
         before do
           post :create, params: { user: { email: 'pam_user1', password: 'WRONGPW' } }
         end
@@ -80,7 +80,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using a valid email and existing user' do
+      context 'when using a valid email and existing user' do
         let!(:user) do
           account = Fabricate.build(:account, username: 'pam_user1', user: nil)
           account.save!(validate: false)
@@ -102,10 +102,10 @@ RSpec.describe Auth::SessionsController, type: :controller do
       end
     end
 
-    context 'using password authentication' do
+    context 'when using password authentication' do
       let(:user) { Fabricate(:user, email: 'foo@bar.com', password: 'abcdefgh') }
 
-      context 'using a valid password' do
+      context 'when using a valid password' do
         before do
           post :create, params: { user: { email: user.email, password: user.password } }
         end
@@ -119,7 +119,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using a valid password on a previously-used account with a new IP address' do
+      context 'when using a valid password on a previously-used account with a new IP address' do
         let(:previous_ip) { '1.2.3.4' }
         let(:current_ip)  { '4.3.2.1' }
 
@@ -145,7 +145,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using email with uppercase letters' do
+      context 'when using email with uppercase letters' do
         before do
           post :create, params: { user: { email: user.email.upcase, password: user.password } }
         end
@@ -159,7 +159,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using an invalid password' do
+      context 'when using an invalid password' do
         before do
           post :create, params: { user: { email: user.email, password: 'wrongpw' } }
         end
@@ -173,7 +173,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context 'using an unconfirmed password' do
+      context 'when using an unconfirmed password' do
         before do
           request.headers['Accept-Language'] = accept_language
           post :create, params: { user: { email: unconfirmed_user.email, password: unconfirmed_user.password } }
@@ -187,14 +187,14 @@ RSpec.describe Auth::SessionsController, type: :controller do
         end
       end
 
-      context "logging in from the user's page" do
+      context "when logging in from the user's page" do
         before do
           allow(controller).to receive(:single_user_mode?).and_return(single_user_mode)
           allow(controller).to receive(:stored_location_for).with(:user).and_return("/@#{user.account.username}")
           post :create, params: { user: { email: user.email, password: user.password } }
         end
 
-        context 'in single user mode' do
+        context 'with single user mode' do
           let(:single_user_mode) { true }
 
           it 'redirects to home' do
@@ -202,7 +202,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'in non-single user mode' do
+        context 'with non-single user mode' do
           let(:single_user_mode) { false }
 
           it "redirects back to the user's page" do
@@ -212,7 +212,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
       end
     end
 
-    context 'using two-factor authentication' do
+    context 'when using two-factor authentication' do
       context 'with OTP enabled as second factor' do
         let!(:user) do
           Fabricate(:user, email: 'x@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32))
@@ -224,7 +224,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           return codes
         end
 
-        context 'using email and password' do
+        context 'when using email and password' do
           before do
             post :create, params: { user: { email: user.email, password: user.password } }
           end
@@ -235,7 +235,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using email and password after an unfinished log-in attempt to a 2FA-protected account' do
+        context 'when using email and password after an unfinished log-in attempt to a 2FA-protected account' do
           let!(:other_user) do
             Fabricate(:user, email: 'z@y.com', password: 'abcdefgh', otp_required_for_login: true, otp_secret: User.generate_otp_secret(32))
           end
@@ -251,7 +251,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using upcase email and password' do
+        context 'when using upcase email and password' do
           before do
             post :create, params: { user: { email: user.email.upcase, password: user.password } }
           end
@@ -262,7 +262,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using a valid OTP' do
+        context 'when using a valid OTP' do
           before do
             post :create, params: { user: { otp_attempt: user.current_otp } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
           end
@@ -291,7 +291,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using a valid recovery code' do
+        context 'when using a valid recovery code' do
           before do
             post :create, params: { user: { otp_attempt: recovery_codes.first } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
           end
@@ -305,7 +305,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using an invalid OTP' do
+        context 'when using an invalid OTP' do
           before do
             post :create, params: { user: { otp_attempt: 'wrongotp' } }, session: { attempt_user_id: user.id, attempt_user_updated_at: user.updated_at.to_s }
           end
@@ -353,7 +353,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
 
         let(:fake_credential) { fake_client.get(challenge: challenge, sign_count: sign_count) }
 
-        context 'using email and password' do
+        context 'when using email and password' do
           before do
             post :create, params: { user: { email: user.email, password: user.password } }
           end
@@ -364,7 +364,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using upcase email and password' do
+        context 'when using upcase email and password' do
           before do
             post :create, params: { user: { email: user.email.upcase, password: user.password } }
           end
@@ -375,7 +375,7 @@ RSpec.describe Auth::SessionsController, type: :controller do
           end
         end
 
-        context 'using a valid webauthn credential' do
+        context 'when using a valid webauthn credential' do
           before do
             @controller.session[:webauthn_challenge] = challenge
 
diff --git a/spec/controllers/concerns/cache_concern_spec.rb b/spec/controllers/concerns/cache_concern_spec.rb
index a34d7d726..528d1a66e 100644
--- a/spec/controllers/concerns/cache_concern_spec.rb
+++ b/spec/controllers/concerns/cache_concern_spec.rb
@@ -23,14 +23,14 @@ RSpec.describe CacheConcern, type: :controller do
   end
 
   describe '#cache_collection' do
-    context 'given an empty array' do
+    context 'when given an empty array' do
       it 'returns an empty array' do
         get :empty_array
         expect(response.body).to eq '0'
       end
     end
 
-    context 'given an empty relation' do
+    context 'when given an empty relation' do
       it 'returns an empty array' do
         get :empty_relation
         expect(response.body).to eq '0'
diff --git a/spec/controllers/concerns/challengable_concern_spec.rb b/spec/controllers/concerns/challengable_concern_spec.rb
index 4db3b740d..e6868fb29 100644
--- a/spec/controllers/concerns/challengable_concern_spec.rb
+++ b/spec/controllers/concerns/challengable_concern_spec.rb
@@ -31,7 +31,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       sign_in user
     end
 
-    context 'for GET requests' do
+    context 'with GET requests' do
       before { get :foo }
 
       it 'does not ask for password' do
@@ -39,7 +39,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       end
     end
 
-    context 'for POST requests' do
+    context 'with POST requests' do
       before { post :bar }
 
       it 'does not ask for password' do
@@ -56,7 +56,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       sign_in user
     end
 
-    context 'for GET requests' do
+    context 'with GET requests' do
       before { get :foo, session: { challenge_passed_at: Time.now.utc } }
 
       it 'does not ask for password' do
@@ -64,7 +64,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       end
     end
 
-    context 'for POST requests' do
+    context 'with POST requests' do
       before { post :bar, session: { challenge_passed_at: Time.now.utc } }
 
       it 'does not ask for password' do
@@ -81,7 +81,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       sign_in user
     end
 
-    context 'for GET requests' do
+    context 'with GET requests' do
       before { get :foo }
 
       it 'renders challenge' do
@@ -91,7 +91,7 @@ RSpec.describe ChallengableConcern, type: :controller do
       # See Auth::ChallengesControllerSpec
     end
 
-    context 'for POST requests' do
+    context 'with POST requests' do
       before { post :bar }
 
       it 'renders challenge' do
diff --git a/spec/controllers/concerns/localized_spec.rb b/spec/controllers/concerns/localized_spec.rb
index a89e24af0..1a54290f9 100644
--- a/spec/controllers/concerns/localized_spec.rb
+++ b/spec/controllers/concerns/localized_spec.rb
@@ -41,7 +41,7 @@ describe ApplicationController, type: :controller do
     end
   end
 
-  context 'user with valid locale has signed in' do
+  context 'with a user with valid locale has signed in' do
     it "sets user's locale" do
       user = Fabricate(:user, locale: :ca)
 
@@ -52,7 +52,7 @@ describe ApplicationController, type: :controller do
     end
   end
 
-  context 'user with invalid locale has signed in' do
+  context 'with a user with invalid locale has signed in' do
     before do
       user = Fabricate.build(:user, locale: :invalid)
       user.save!(validate: false)
@@ -62,7 +62,7 @@ describe ApplicationController, type: :controller do
     include_examples 'default locale'
   end
 
-  context 'user has not signed in' do
+  context 'with a user who has not signed in' do
     include_examples 'default locale'
   end
 end
diff --git a/spec/controllers/concerns/rate_limit_headers_spec.rb b/spec/controllers/concerns/rate_limit_headers_spec.rb
index 00a9a2080..7e1f92546 100644
--- a/spec/controllers/concerns/rate_limit_headers_spec.rb
+++ b/spec/controllers/concerns/rate_limit_headers_spec.rb
@@ -16,7 +16,7 @@ describe ApplicationController do
   end
 
   describe 'rate limiting' do
-    context 'throttling is off' do
+    context 'when throttling is off' do
       before do
         request.env['rack.attack.throttle_data'] = nil
       end
@@ -30,7 +30,7 @@ describe ApplicationController do
       end
     end
 
-    context 'throttling is on' do
+    context 'when throttling is on' do
       let(:start_time) { DateTime.new(2017, 1, 1, 12, 0, 0).utc }
 
       before do
diff --git a/spec/controllers/instance_actors_controller_spec.rb b/spec/controllers/instance_actors_controller_spec.rb
index 84a07d497..3298bd9e6 100644
--- a/spec/controllers/instance_actors_controller_spec.rb
+++ b/spec/controllers/instance_actors_controller_spec.rb
@@ -4,7 +4,7 @@ require 'rails_helper'
 
 RSpec.describe InstanceActorsController, type: :controller do
   describe 'GET #show' do
-    context 'as JSON' do
+    context 'with JSON' do
       let(:format) { 'json' }
 
       shared_examples 'shared behavior' do
diff --git a/spec/controllers/settings/applications_controller_spec.rb b/spec/controllers/settings/applications_controller_spec.rb
index e12628a18..c0a57380e 100644
--- a/spec/controllers/settings/applications_controller_spec.rb
+++ b/spec/controllers/settings/applications_controller_spec.rb
@@ -50,7 +50,7 @@ describe Settings::ApplicationsController do
   end
 
   describe 'POST #create' do
-    context 'success (passed scopes as a String)' do
+    context 'when success (passed scopes as a String)' do
       def call_create
         post :create, params: {
           doorkeeper_application: {
@@ -72,7 +72,7 @@ describe Settings::ApplicationsController do
       end
     end
 
-    context 'success (passed scopes as an Array)' do
+    context 'when success (passed scopes as an Array)' do
       def call_create
         post :create, params: {
           doorkeeper_application: {
@@ -94,7 +94,7 @@ describe Settings::ApplicationsController do
       end
     end
 
-    context 'failure' do
+    context 'with failure request' do
       before do
         post :create, params: {
           doorkeeper_application: {
@@ -117,7 +117,7 @@ describe Settings::ApplicationsController do
   end
 
   describe 'PATCH #update' do
-    context 'success' do
+    context 'when success' do
       let(:opts) do
         {
           website: 'https://foo.bar/',
@@ -142,7 +142,7 @@ describe Settings::ApplicationsController do
       end
     end
 
-    context 'failure' do
+    context 'with failure request' do
       before do
         patch :update, params: {
           id: app.id,
diff --git a/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb b/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
index 719f70f16..48dea6276 100644
--- a/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
+++ b/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
@@ -275,7 +275,7 @@ describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
         end
 
         context 'when user have not enabled webauthn' do
-          context 'creation succeeds' do
+          context 'when creation succeeds' do
             it 'creates a webauthn credential' do
               @controller.session[:webauthn_challenge] = challenge
 
diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb
index 4ac6a68bb..c846dd1d6 100644
--- a/spec/controllers/statuses_controller_spec.rb
+++ b/spec/controllers/statuses_controller_spec.rb
@@ -72,7 +72,7 @@ describe StatusesController do
         get :show, params: { account_username: status.account.username, id: status.id, format: format }
       end
 
-      context 'as HTML' do
+      context 'with HTML' do
         let(:format) { 'html' }
 
         it 'returns http success' do
@@ -97,7 +97,7 @@ describe StatusesController do
         end
       end
 
-      context 'as JSON' do
+      context 'with JSON' do
         let(:format) { 'json' }
 
         it 'returns http success' do
@@ -132,7 +132,7 @@ describe StatusesController do
         get :show, params: { account_username: status.account.username, id: status.id, format: format }
       end
 
-      context 'as JSON' do
+      context 'with JSON' do
         let(:format) { 'json' }
 
         it 'returns http not found' do
@@ -140,7 +140,7 @@ describe StatusesController do
         end
       end
 
-      context 'as HTML' do
+      context 'with HTML' do
         let(:format) { 'html' }
 
         it 'returns http not found' do
@@ -156,7 +156,7 @@ describe StatusesController do
         get :show, params: { account_username: status.account.username, id: status.id, format: format }
       end
 
-      context 'as JSON' do
+      context 'with JSON' do
         let(:format) { 'json' }
 
         it 'returns http not found' do
@@ -164,7 +164,7 @@ describe StatusesController do
         end
       end
 
-      context 'as HTML' do
+      context 'with HTML' do
         let(:format) { 'html' }
 
         it 'returns http not found' do
@@ -196,7 +196,7 @@ describe StatusesController do
           get :show, params: { account_username: status.account.username, id: status.id, format: format }
         end
 
-        context 'as HTML' do
+        context 'with HTML' do
           let(:format) { 'html' }
 
           it 'returns http success' do
@@ -221,7 +221,7 @@ describe StatusesController do
           end
         end
 
-        context 'as JSON' do
+        context 'with JSON' do
           let(:format) { 'json' }
 
           it 'returns http success' do
@@ -260,7 +260,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http success' do
@@ -285,7 +285,7 @@ describe StatusesController do
             end
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http success' do
@@ -320,7 +320,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http not found' do
@@ -328,7 +328,7 @@ describe StatusesController do
             end
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http not found' do
@@ -347,7 +347,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http success' do
@@ -372,7 +372,7 @@ describe StatusesController do
             end
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http success' do
@@ -407,7 +407,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http not found' do
@@ -415,7 +415,7 @@ describe StatusesController do
             end
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http not found' do
@@ -460,7 +460,7 @@ describe StatusesController do
           get :show, params: { account_username: status.account.username, id: status.id, format: format }
         end
 
-        context 'as HTML' do
+        context 'with HTML' do
           let(:format) { 'html' }
 
           it 'returns http success' do
@@ -485,7 +485,7 @@ describe StatusesController do
           end
         end
 
-        context 'as JSON' do
+        context 'with JSON' do
           let(:format) { 'json' }
 
           it 'returns http success' do
@@ -522,7 +522,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http success' do
@@ -547,7 +547,7 @@ describe StatusesController do
             end
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http success' do
@@ -582,7 +582,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http not found' do
@@ -590,7 +590,7 @@ describe StatusesController do
             end
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http not found' do
@@ -609,7 +609,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http success' do
@@ -634,7 +634,7 @@ describe StatusesController do
             end
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http success' do
@@ -669,7 +669,7 @@ describe StatusesController do
             get :show, params: { account_username: status.account.username, id: status.id, format: format }
           end
 
-          context 'as JSON' do
+          context 'with JSON' do
             let(:format) { 'json' }
 
             it 'returns http not found' do
@@ -677,7 +677,7 @@ describe StatusesController do
             end
           end
 
-          context 'as HTML' do
+          context 'with HTML' do
             let(:format) { 'html' }
 
             it 'returns http not found' do
diff --git a/spec/helpers/admin/account_moderation_notes_helper_spec.rb b/spec/helpers/admin/account_moderation_notes_helper_spec.rb
index e01eba51d..bacc8dcf3 100644
--- a/spec/helpers/admin/account_moderation_notes_helper_spec.rb
+++ b/spec/helpers/admin/account_moderation_notes_helper_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe Admin::AccountModerationNotesHelper, type: :helper do
   include AccountsHelper
 
   describe '#admin_account_link_to' do
-    context 'account is nil' do
+    context 'when Account is nil' do
       let(:account) { nil }
 
       it 'returns nil' do
@@ -30,7 +30,7 @@ RSpec.describe Admin::AccountModerationNotesHelper, type: :helper do
   end
 
   describe '#admin_account_inline_link_to' do
-    context 'account is nil' do
+    context 'when Account is nil' do
       let(:account) { nil }
 
       it 'returns nil' do
diff --git a/spec/helpers/jsonld_helper_spec.rb b/spec/helpers/jsonld_helper_spec.rb
index ddd4bfe62..3575bba85 100644
--- a/spec/helpers/jsonld_helper_spec.rb
+++ b/spec/helpers/jsonld_helper_spec.rb
@@ -22,14 +22,14 @@ describe JsonLdHelper do
   end
 
   describe '#first_of_value' do
-    context 'value.is_a?(Array)' do
+    context 'when value.is_a?(Array)' do
       it 'returns value.first' do
         value = ['a']
         expect(helper.first_of_value(value)).to be 'a'
       end
     end
 
-    context '!value.is_a?(Array)' do
+    context 'with !value.is_a?(Array)' do
       it 'returns value' do
         value = 'a'
         expect(helper.first_of_value(value)).to be 'a'
@@ -38,14 +38,14 @@ describe JsonLdHelper do
   end
 
   describe '#supported_context?' do
-    context "!json.nil? && equals_or_includes?(json['@context'], ActivityPub::TagManager::CONTEXT)" do
+    context 'when json is present and in an activitypub tagmanager context' do
       it 'returns true' do
         json = { '@context' => ActivityPub::TagManager::CONTEXT }.as_json
         expect(helper.supported_context?(json)).to be true
       end
     end
 
-    context 'else' do
+    context 'when not in activitypub tagmanager context' do
       it 'returns false' do
         json = nil
         expect(helper.supported_context?(json)).to be false
@@ -90,7 +90,7 @@ describe JsonLdHelper do
     end
   end
 
-  context 'compaction and forwarding' do
+  context 'with compaction and forwarding' do
     let(:json) do
       {
         '@context' => [
diff --git a/spec/helpers/routing_helper_spec.rb b/spec/helpers/routing_helper_spec.rb
index 940392c9b..44d2fdb4a 100644
--- a/spec/helpers/routing_helper_spec.rb
+++ b/spec/helpers/routing_helper_spec.rb
@@ -24,7 +24,7 @@ RSpec.describe RoutingHelper, type: :helper do
       end
     end
 
-    context 'Do not use S3' do
+    context 'when not using S3' do
       before do
         Rails.configuration.x.use_s3 = false
       end
@@ -32,7 +32,7 @@ RSpec.describe RoutingHelper, type: :helper do
       it_behaves_like 'returns full path URL'
     end
 
-    context 'Use S3' do
+    context 'when using S3' do
       before do
         Rails.configuration.x.use_s3 = true
       end
diff --git a/spec/lib/activitypub/activity/accept_spec.rb b/spec/lib/activitypub/activity/accept_spec.rb
index 890a07be5..d6b607127 100644
--- a/spec/lib/activitypub/activity/accept_spec.rb
+++ b/spec/lib/activitypub/activity/accept_spec.rb
@@ -43,7 +43,7 @@ RSpec.describe ActivityPub::Activity::Accept do
     end
   end
 
-  context 'given a relay' do
+  context 'when given a relay' do
     subject { described_class.new(json, sender) }
 
     let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') }
diff --git a/spec/lib/activitypub/activity/announce_spec.rb b/spec/lib/activitypub/activity/announce_spec.rb
index 394b1d7b9..365861bcd 100644
--- a/spec/lib/activitypub/activity/announce_spec.rb
+++ b/spec/lib/activitypub/activity/announce_spec.rb
@@ -39,7 +39,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         subject.perform
       end
 
-      context 'a known status' do
+      context 'with known status' do
         let(:object_json) do
           ActivityPub::TagManager.instance.uri_for(status)
         end
@@ -49,7 +49,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         end
       end
 
-      context 'an unknown status' do
+      context 'with unknown status' do
         let(:object_json) { 'https://example.com/actor/hello-world' }
 
         it 'creates a reblog by sender of status' do
@@ -60,7 +60,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         end
       end
 
-      context 'self-boost of a previously unknown status with correct attributedTo' do
+      context 'when self-boost of a previously unknown status with correct attributedTo' do
         let(:object_json) do
           {
             id: 'https://example.com/actor#bar',
@@ -76,7 +76,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         end
       end
 
-      context 'self-boost of a previously unknown status with correct attributedTo, inlined Collection in audience' do
+      context 'when self-boost of a previously unknown status with correct attributedTo, inlined Collection in audience' do
         let(:object_json) do
           {
             id: 'https://example.com/actor#bar',
@@ -123,7 +123,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         stub_request(:get, 'https://example.com/actor/hello-world').to_return(body: Oj.dump(unknown_object_json))
       end
 
-      context 'and the relay is enabled' do
+      context 'when the relay is enabled' do
         before do
           relay.update(state: :accepted)
           subject.perform
@@ -135,7 +135,7 @@ RSpec.describe ActivityPub::Activity::Announce do
         end
       end
 
-      context 'and the relay is disabled' do
+      context 'when the relay is disabled' do
         before do
           subject.perform
         end
diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb
index 933eff225..f6c24754c 100644
--- a/spec/lib/activitypub/activity/create_spec.rb
+++ b/spec/lib/activitypub/activity/create_spec.rb
@@ -31,7 +31,7 @@ RSpec.describe ActivityPub::Activity::Create do
         subject.perform
       end
 
-      context 'object has been edited' do
+      context 'when object has been edited' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -57,7 +57,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'object has update date equal to creation date' do
+      context 'when object has update date equal to creation date' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -83,7 +83,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'unknown object type' do
+      context 'with an unknown object type' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -97,7 +97,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'standalone' do
+      context 'with a standalone' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -121,7 +121,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'public with explicit public address' do
+      context 'when public with explicit public address' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -139,7 +139,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'public with as:Public' do
+      context 'when public with as:Public' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -157,7 +157,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'public with Public' do
+      context 'when public with Public' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -175,7 +175,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'unlisted with explicit public address' do
+      context 'when unlisted with explicit public address' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -193,7 +193,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'unlisted with as:Public' do
+      context 'when unlisted with as:Public' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -211,7 +211,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'unlisted with Public' do
+      context 'when unlisted with Public' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -229,7 +229,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'private' do
+      context 'when private' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -247,7 +247,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'private with inlined Collection in audience' do
+      context 'when private with inlined Collection in audience' do
         let(:object_json) do
           {
             id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
@@ -269,7 +269,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'limited' do
+      context 'when limited' do
         let(:recipient) { Fabricate(:account) }
 
         let(:object_json) do
@@ -294,7 +294,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'direct' do
+      context 'when direct' do
         let(:recipient) { Fabricate(:account) }
 
         let(:object_json) do
@@ -318,7 +318,7 @@ RSpec.describe ActivityPub::Activity::Create do
         end
       end
 
-      context 'as a reply' do
+      context 'with a reply' do
         let(:original_status) { Fabricate(:status) }
 
         let(:object_json) do
diff --git a/spec/lib/activitypub/activity/follow_spec.rb b/spec/lib/activitypub/activity/follow_spec.rb
index eb8b17d61..c1829cb8d 100644
--- a/spec/lib/activitypub/activity/follow_spec.rb
+++ b/spec/lib/activitypub/activity/follow_spec.rb
@@ -20,7 +20,7 @@ RSpec.describe ActivityPub::Activity::Follow do
     subject { described_class.new(json, sender) }
 
     context 'with no prior follow' do
-      context 'unlocked account' do
+      context 'with an unlocked account' do
         before do
           subject.perform
         end
@@ -35,7 +35,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'silenced account following an unlocked account' do
+      context 'when silenced account following an unlocked account' do
         before do
           sender.touch(:silenced_at)
           subject.perform
@@ -51,7 +51,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'unlocked account muting the sender' do
+      context 'with an unlocked account muting the sender' do
         before do
           recipient.mute!(sender)
           subject.perform
@@ -67,7 +67,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'locked account' do
+      context 'when locked account' do
         before do
           recipient.update(locked: true)
           subject.perform
@@ -89,7 +89,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         sender.active_relationships.create!(target_account: recipient, uri: 'bar')
       end
 
-      context 'unlocked account' do
+      context 'with an unlocked account' do
         before do
           subject.perform
         end
@@ -103,7 +103,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'silenced account following an unlocked account' do
+      context 'when silenced account following an unlocked account' do
         before do
           sender.touch(:silenced_at)
           subject.perform
@@ -118,7 +118,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'unlocked account muting the sender' do
+      context 'with an unlocked account muting the sender' do
         before do
           recipient.mute!(sender)
           subject.perform
@@ -133,7 +133,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'locked account' do
+      context 'when locked account' do
         before do
           recipient.update(locked: true)
           subject.perform
@@ -154,7 +154,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         sender.follow_requests.create!(target_account: recipient, uri: 'bar')
       end
 
-      context 'silenced account following an unlocked account' do
+      context 'when silenced account following an unlocked account' do
         before do
           sender.touch(:silenced_at)
           subject.perform
@@ -170,7 +170,7 @@ RSpec.describe ActivityPub::Activity::Follow do
         end
       end
 
-      context 'locked account' do
+      context 'when locked account' do
         before do
           recipient.update(locked: true)
           subject.perform
diff --git a/spec/lib/activitypub/activity/reject_spec.rb b/spec/lib/activitypub/activity/reject_spec.rb
index 5e0f09bfe..0a4243cd1 100644
--- a/spec/lib/activitypub/activity/reject_spec.rb
+++ b/spec/lib/activitypub/activity/reject_spec.rb
@@ -27,7 +27,7 @@ RSpec.describe ActivityPub::Activity::Reject do
   describe '#perform' do
     subject { described_class.new(json, sender) }
 
-    context 'rejecting a pending follow request by target' do
+    context 'when rejecting a pending follow request by target' do
       before do
         Fabricate(:follow_request, account: recipient, target_account: sender)
         subject.perform
@@ -42,7 +42,7 @@ RSpec.describe ActivityPub::Activity::Reject do
       end
     end
 
-    context 'rejecting a pending follow request by uri' do
+    context 'when rejecting a pending follow request by uri' do
       before do
         Fabricate(:follow_request, account: recipient, target_account: sender, uri: 'bar')
         subject.perform
@@ -57,7 +57,7 @@ RSpec.describe ActivityPub::Activity::Reject do
       end
     end
 
-    context 'rejecting a pending follow request by uri only' do
+    context 'when rejecting a pending follow request by uri only' do
       let(:object_json) { 'bar' }
 
       before do
@@ -74,7 +74,7 @@ RSpec.describe ActivityPub::Activity::Reject do
       end
     end
 
-    context 'rejecting an existing follow relationship by target' do
+    context 'when rejecting an existing follow relationship by target' do
       before do
         Fabricate(:follow, account: recipient, target_account: sender)
         subject.perform
@@ -89,7 +89,7 @@ RSpec.describe ActivityPub::Activity::Reject do
       end
     end
 
-    context 'rejecting an existing follow relationship by uri' do
+    context 'when rejecting an existing follow relationship by uri' do
       before do
         Fabricate(:follow, account: recipient, target_account: sender, uri: 'bar')
         subject.perform
@@ -104,7 +104,7 @@ RSpec.describe ActivityPub::Activity::Reject do
       end
     end
 
-    context 'rejecting an existing follow relationship by uri only' do
+    context 'when rejecting an existing follow relationship by uri only' do
       let(:object_json) { 'bar' }
 
       before do
@@ -122,7 +122,7 @@ RSpec.describe ActivityPub::Activity::Reject do
     end
   end
 
-  context 'given a relay' do
+  context 'when given a relay' do
     subject { described_class.new(json, sender) }
 
     let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') }
diff --git a/spec/lib/emoji_formatter_spec.rb b/spec/lib/emoji_formatter_spec.rb
index b73d5be4b..e5accfbb0 100644
--- a/spec/lib/emoji_formatter_spec.rb
+++ b/spec/lib/emoji_formatter_spec.rb
@@ -14,7 +14,7 @@ RSpec.describe EmojiFormatter do
 
     let(:emojis) { [emoji] }
 
-    context 'given text that is not marked as html-safe' do
+    context 'when given text that is not marked as html-safe' do
       let(:text) { 'Foo' }
 
       it 'raises an argument error' do
@@ -22,7 +22,7 @@ RSpec.describe EmojiFormatter do
       end
     end
 
-    context 'given text with an emoji shortcode at the start' do
+    context 'when given text with an emoji shortcode at the start' do
       let(:text) { preformat_text(':coolcat: Beep boop') }
 
       it 'converts the shortcode to an image tag' do
@@ -30,7 +30,7 @@ RSpec.describe EmojiFormatter do
       end
     end
 
-    context 'given text with an emoji shortcode in the middle' do
+    context 'when given text with an emoji shortcode in the middle' do
       let(:text) { preformat_text('Beep :coolcat: boop') }
 
       it 'converts the shortcode to an image tag' do
@@ -38,7 +38,7 @@ RSpec.describe EmojiFormatter do
       end
     end
 
-    context 'given text with concatenated emoji shortcodes' do
+    context 'when given text with concatenated emoji shortcodes' do
       let(:text) { preformat_text(':coolcat::coolcat:') }
 
       it 'does not touch the shortcodes' do
@@ -46,7 +46,7 @@ RSpec.describe EmojiFormatter do
       end
     end
 
-    context 'given text with an emoji shortcode at the end' do
+    context 'when given text with an emoji shortcode at the end' do
       let(:text) { preformat_text('Beep boop :coolcat:') }
 
       it 'converts the shortcode to an image tag' do
diff --git a/spec/lib/entity_cache_spec.rb b/spec/lib/entity_cache_spec.rb
index c750cddf3..6d9afa474 100644
--- a/spec/lib/entity_cache_spec.rb
+++ b/spec/lib/entity_cache_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe EntityCache do
   describe '#emoji' do
     subject { EntityCache.instance.emoji(shortcodes, domain) }
 
-    context 'called with an empty list of shortcodes' do
+    context 'when called with an empty list of shortcodes' do
       let(:shortcodes) { [] }
       let(:domain)     { 'example.org' }
 
diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb
index f25b7169c..79d1f5249 100644
--- a/spec/lib/feed_manager_spec.rb
+++ b/spec/lib/feed_manager_spec.rb
@@ -27,7 +27,7 @@ RSpec.describe FeedManager do
     let(:bob)   { Fabricate(:account, username: 'bob', domain: 'example.com') }
     let(:jeff)  { Fabricate(:account, username: 'jeff') }
 
-    context 'for home feed' do
+    context 'with home feed' do
       it 'returns false for followee\'s status' do
         status = Fabricate(:status, text: 'Hello world', account: alice)
         bob.follow!(alice)
@@ -155,7 +155,7 @@ RSpec.describe FeedManager do
       end
     end
 
-    context 'for mentions feed' do
+    context 'with mentions feed' do
       it 'returns true for status that mentions blocked account' do
         bob.block!(jeff)
         status = PostStatusService.new.call(alice, text: 'Hey @jeff')
@@ -196,7 +196,7 @@ RSpec.describe FeedManager do
       expect(redis.zcard("feed:home:#{account.id}")).to eq FeedManager::MAX_ITEMS
     end
 
-    context 'reblogs' do
+    context 'with reblogs' do
       it 'saves reblogs of unseen statuses' do
         account = Fabricate(:account)
         reblogged = Fabricate(:status)
diff --git a/spec/lib/html_aware_formatter_spec.rb b/spec/lib/html_aware_formatter_spec.rb
index 315035957..a20902d4f 100644
--- a/spec/lib/html_aware_formatter_spec.rb
+++ b/spec/lib/html_aware_formatter_spec.rb
@@ -18,7 +18,7 @@ RSpec.describe HtmlAwareFormatter do
     context 'when remote' do
       let(:local) { false }
 
-      context 'given plain text' do
+      context 'when given plain text' do
         let(:text) { 'Beep boop' }
 
         it 'keeps the plain text' do
@@ -26,7 +26,7 @@ RSpec.describe HtmlAwareFormatter do
         end
       end
 
-      context 'given text containing script tags' do
+      context 'when given text containing script tags' do
         let(:text) { '<script>alert("Hello")</script>' }
 
         it 'strips the scripts' do
@@ -34,7 +34,7 @@ RSpec.describe HtmlAwareFormatter do
         end
       end
 
-      context 'given text containing malicious classes' do
+      context 'when given text containing malicious classes' do
         let(:text) { '<span class="mention  status__content__spoiler-link">Show more</span>' }
 
         it 'strips the malicious classes' do
diff --git a/spec/lib/link_details_extractor_spec.rb b/spec/lib/link_details_extractor_spec.rb
index a46dd743a..ef501efbf 100644
--- a/spec/lib/link_details_extractor_spec.rb
+++ b/spec/lib/link_details_extractor_spec.rb
@@ -40,7 +40,7 @@ RSpec.describe LinkDetailsExtractor do
   context 'when structured data is present' do
     let(:original_url) { 'https://example.com/page.html' }
 
-    context 'and is wrapped in CDATA tags' do
+    context 'when is wrapped in CDATA tags' do
       let(:html) { <<~HTML }
         <!doctype html>
         <html>
@@ -79,7 +79,7 @@ RSpec.describe LinkDetailsExtractor do
       end
     end
 
-    context 'but the first tag is invalid JSON' do
+    context 'with the first tag is invalid JSON' do
       let(:html) { <<~HTML }
         <!doctype html>
         <html>
diff --git a/spec/lib/ostatus/tag_manager_spec.rb b/spec/lib/ostatus/tag_manager_spec.rb
index 8104a7e79..fb9740ce3 100644
--- a/spec/lib/ostatus/tag_manager_spec.rb
+++ b/spec/lib/ostatus/tag_manager_spec.rb
@@ -40,7 +40,7 @@ describe OStatus::TagManager do
   describe '#uri_for' do
     subject { OStatus::TagManager.instance.uri_for(target) }
 
-    context 'comment object' do
+    context 'with comment object' do
       let(:target) { Fabricate(:status, created_at: '2000-01-01T00:00:00Z', reply: true) }
 
       it 'returns the unique tag for status' do
@@ -49,7 +49,7 @@ describe OStatus::TagManager do
       end
     end
 
-    context 'note object' do
+    context 'with note object' do
       let(:target) { Fabricate(:status, created_at: '2000-01-01T00:00:00Z', reply: false, thread: nil) }
 
       it 'returns the unique tag for status' do
@@ -58,7 +58,7 @@ describe OStatus::TagManager do
       end
     end
 
-    context 'person object' do
+    context 'when person object' do
       let(:target) { Fabricate(:account, username: 'alice') }
 
       it 'returns the URL for account' do
diff --git a/spec/lib/scope_transformer_spec.rb b/spec/lib/scope_transformer_spec.rb
index e5a992144..8a9c7cf96 100644
--- a/spec/lib/scope_transformer_spec.rb
+++ b/spec/lib/scope_transformer_spec.rb
@@ -20,67 +20,67 @@ describe ScopeTransformer do
       end
     end
 
-    context 'for scope "read"' do
+    context 'with scope "read"' do
       let(:input) { 'read' }
 
       it_behaves_like 'a scope', nil, 'all', 'read'
     end
 
-    context 'for scope "write"' do
+    context 'with scope "write"' do
       let(:input) { 'write' }
 
       it_behaves_like 'a scope', nil, 'all', 'write'
     end
 
-    context 'for scope "follow"' do
+    context 'with scope "follow"' do
       let(:input) { 'follow' }
 
       it_behaves_like 'a scope', nil, 'follow', 'read/write'
     end
 
-    context 'for scope "crypto"' do
+    context 'with scope "crypto"' do
       let(:input) { 'crypto' }
 
       it_behaves_like 'a scope', nil, 'crypto', 'read/write'
     end
 
-    context 'for scope "push"' do
+    context 'with scope "push"' do
       let(:input) { 'push' }
 
       it_behaves_like 'a scope', nil, 'push', 'read/write'
     end
 
-    context 'for scope "admin:read"' do
+    context 'with scope "admin:read"' do
       let(:input) { 'admin:read' }
 
       it_behaves_like 'a scope', 'admin', 'all', 'read'
     end
 
-    context 'for scope "admin:write"' do
+    context 'with scope "admin:write"' do
       let(:input) { 'admin:write' }
 
       it_behaves_like 'a scope', 'admin', 'all', 'write'
     end
 
-    context 'for scope "admin:read:accounts"' do
+    context 'with scope "admin:read:accounts"' do
       let(:input) { 'admin:read:accounts' }
 
       it_behaves_like 'a scope', 'admin', 'accounts', 'read'
     end
 
-    context 'for scope "admin:write:accounts"' do
+    context 'with scope "admin:write:accounts"' do
       let(:input) { 'admin:write:accounts' }
 
       it_behaves_like 'a scope', 'admin', 'accounts', 'write'
     end
 
-    context 'for scope "read:accounts"' do
+    context 'with scope "read:accounts"' do
       let(:input) { 'read:accounts' }
 
       it_behaves_like 'a scope', nil, 'accounts', 'read'
     end
 
-    context 'for scope "write:accounts"' do
+    context 'with scope "write:accounts"' do
       let(:input) { 'write:accounts' }
 
       it_behaves_like 'a scope', nil, 'accounts', 'write'
diff --git a/spec/lib/status_cache_hydrator_spec.rb b/spec/lib/status_cache_hydrator_spec.rb
index 5c78de711..5b80ccb97 100644
--- a/spec/lib/status_cache_hydrator_spec.rb
+++ b/spec/lib/status_cache_hydrator_spec.rb
@@ -44,7 +44,7 @@ describe StatusCacheHydrator do
         let(:reblog) { Fabricate(:status) }
         let(:status) { Fabricate(:status, reblog: reblog) }
 
-        context 'that has been favourited' do
+        context 'when it has been favourited' do
           before do
             FavouriteService.new.call(account, reblog)
           end
@@ -54,7 +54,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that has been reblogged' do
+        context 'when it has been reblogged' do
           before do
             ReblogService.new.call(account, reblog)
           end
@@ -64,7 +64,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that has been pinned' do
+        context 'when it has been pinned' do
           let(:reblog) { Fabricate(:status, account: account) }
 
           before do
@@ -76,7 +76,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that has been followed tags' do
+        context 'when it has been followed tags' do
           let(:followed_tag) { Fabricate(:tag) }
 
           before do
@@ -90,7 +90,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that has a poll authored by the user' do
+        context 'when it has a poll authored by the user' do
           let(:poll) { Fabricate(:poll, account: account) }
           let(:reblog) { Fabricate(:status, poll: poll, account: account) }
 
@@ -99,7 +99,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that has been voted in' do
+        context 'when it has been voted in' do
           let(:poll) { Fabricate(:poll, options: %w(Yellow Blue)) }
           let(:reblog) { Fabricate(:status, poll: poll) }
 
@@ -112,7 +112,7 @@ describe StatusCacheHydrator do
           end
         end
 
-        context 'that matches account filters' do
+        context 'when it matches account filters' do
           let(:reblog) { Fabricate(:status, text: 'this toot is about that banned word') }
 
           before do
diff --git a/spec/lib/status_reach_finder_spec.rb b/spec/lib/status_reach_finder_spec.rb
index 785ce28a0..c53ac2799 100644
--- a/spec/lib/status_reach_finder_spec.rb
+++ b/spec/lib/status_reach_finder_spec.rb
@@ -4,7 +4,7 @@ require 'rails_helper'
 
 describe StatusReachFinder do
   describe '#inboxes' do
-    context 'for a local status' do
+    context 'with a local status' do
       subject { described_class.new(status) }
 
       let(:parent_status) { nil }
diff --git a/spec/lib/text_formatter_spec.rb b/spec/lib/text_formatter_spec.rb
index 3417b450c..8b922c018 100644
--- a/spec/lib/text_formatter_spec.rb
+++ b/spec/lib/text_formatter_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe TextFormatter do
 
     let(:preloaded_accounts) { nil }
 
-    context 'given text containing plain text' do
+    context 'when given text containing plain text' do
       let(:text) { 'text' }
 
       it 'paragraphizes the text' do
@@ -16,7 +16,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing line feeds' do
+    context 'when given text containing line feeds' do
       let(:text) { "line\nfeed" }
 
       it 'removes line feeds' do
@@ -24,7 +24,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing linkable mentions' do
+    context 'when given text containing linkable mentions' do
       let(:preloaded_accounts) { [Fabricate(:account, username: 'alice')] }
       let(:text) { '@alice' }
 
@@ -33,7 +33,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing unlinkable mentions' do
+    context 'when given text containing unlinkable mentions' do
       let(:preloaded_accounts) { [] }
       let(:text) { '@alice' }
 
@@ -42,7 +42,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a stand-alone medium URL' do
+    context 'when given a stand-alone medium URL' do
       let(:text) { 'https://hackernoon.com/the-power-to-build-communities-a-response-to-mark-zuckerberg-3f2cac9148a4' }
 
       it 'matches the full URL' do
@@ -50,7 +50,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a stand-alone google URL' do
+    context 'when given a stand-alone google URL' do
       let(:text) { 'http://google.com' }
 
       it 'matches the full URL' do
@@ -58,7 +58,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a stand-alone URL with a newer TLD' do
+    context 'when given a stand-alone URL with a newer TLD' do
       let(:text) { 'http://example.gay' }
 
       it 'matches the full URL' do
@@ -66,7 +66,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a stand-alone IDN URL' do
+    context 'when given a stand-alone IDN URL' do
       let(:text) { 'https://nic.みんな/' }
 
       it 'matches the full URL' do
@@ -78,7 +78,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a trailing period' do
+    context 'when given a URL with a trailing period' do
       let(:text) { 'http://www.mcmansionhell.com/post/156408871451/50-states-of-mcmansion-hell-scottsdale-arizona. ' }
 
       it 'matches the full URL but not the period' do
@@ -86,7 +86,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL enclosed with parentheses' do
+    context 'when given a URL enclosed with parentheses' do
       let(:text) { '(http://google.com/)' }
 
       it 'matches the full URL but not the parentheses' do
@@ -94,7 +94,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a trailing exclamation point' do
+    context 'when given a URL with a trailing exclamation point' do
       let(:text) { 'http://www.google.com!' }
 
       it 'matches the full URL but not the exclamation point' do
@@ -102,7 +102,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a trailing single quote' do
+    context 'when given a URL with a trailing single quote' do
       let(:text) { "http://www.google.com'" }
 
       it 'matches the full URL but not the single quote' do
@@ -110,7 +110,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a trailing angle bracket' do
+    context 'when given a URL with a trailing angle bracket' do
       let(:text) { 'http://www.google.com>' }
 
       it 'matches the full URL but not the angle bracket' do
@@ -118,7 +118,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a query string' do
+    context 'when given a URL with a query string' do
       context 'with escaped unicode character' do
         let(:text) { 'https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=autolink' }
 
@@ -152,7 +152,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with parentheses in it' do
+    context 'when given a URL with parentheses in it' do
       let(:text) { 'https://en.wikipedia.org/wiki/Diaspora_(software)' }
 
       it 'matches the full URL' do
@@ -160,7 +160,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL in quotation marks' do
+    context 'when given a URL in quotation marks' do
       let(:text) { '"https://example.com/"' }
 
       it 'does not match the quotation marks' do
@@ -168,7 +168,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL in angle brackets' do
+    context 'when given a URL in angle brackets' do
       let(:text) { '<https://example.com/>' }
 
       it 'does not match the angle brackets' do
@@ -176,7 +176,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with Japanese path string' do
+    context 'when given a URL with Japanese path string' do
       let(:text) { 'https://ja.wikipedia.org/wiki/日本' }
 
       it 'matches the full URL' do
@@ -184,7 +184,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with Korean path string' do
+    context 'when given a URL with Korean path string' do
       let(:text) { 'https://ko.wikipedia.org/wiki/대한민국' }
 
       it 'matches the full URL' do
@@ -192,7 +192,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with a full-width space' do
+    context 'when given a URL with a full-width space' do
       let(:text) { 'https://example.com/ abc123' }
 
       it 'does not match the full-width space' do
@@ -200,7 +200,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL in Japanese quotation marks' do
+    context 'when given a URL in Japanese quotation marks' do
       let(:text) { '「[https://example.org/」' }
 
       it 'does not match the quotation marks' do
@@ -208,7 +208,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with Simplified Chinese path string' do
+    context 'when given a URL with Simplified Chinese path string' do
       let(:text) { 'https://baike.baidu.com/item/中华人民共和国' }
 
       it 'matches the full URL' do
@@ -216,7 +216,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL with Traditional Chinese path string' do
+    context 'when given a URL with Traditional Chinese path string' do
       let(:text) { 'https://zh.wikipedia.org/wiki/臺灣' }
 
       it 'matches the full URL' do
@@ -224,7 +224,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL containing unsafe code (XSS attack, visible part)' do
+    context 'when given a URL containing unsafe code (XSS attack, visible part)' do
       let(:text) { 'http://example.com/b<del>b</del>' }
 
       it 'does not include the HTML in the URL' do
@@ -236,7 +236,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given a URL containing unsafe code (XSS attack, invisible part)' do
+    context 'when given a URL containing unsafe code (XSS attack, invisible part)' do
       let(:text) { 'http://example.com/blahblahblahblah/a<script>alert("Hello")</script>' }
 
       it 'does not include the HTML in the URL' do
@@ -248,7 +248,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing HTML code (script tag)' do
+    context 'when given text containing HTML code (script tag)' do
       let(:text) { '<script>alert("Hello")</script>' }
 
       it 'escapes the HTML' do
@@ -256,7 +256,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing HTML (XSS attack)' do
+    context 'when given text containing HTML (XSS attack)' do
       let(:text) { %q{<img src="javascript:alert('XSS');">} }
 
       it 'escapes the HTML' do
@@ -264,7 +264,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given an invalid URL' do
+    context 'when given an invalid URL' do
       let(:text) { 'http://www\.google\.com' }
 
       it 'outputs the raw URL' do
@@ -272,7 +272,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing a hashtag' do
+    context 'when given text containing a hashtag' do
       let(:text)  { '#hashtag' }
 
       it 'creates a hashtag link' do
@@ -280,7 +280,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing a hashtag with Unicode chars' do
+    context 'when given text containing a hashtag with Unicode chars' do
       let(:text)  { '#hashtagタグ' }
 
       it 'creates a hashtag link' do
@@ -288,7 +288,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text with a stand-alone xmpp: URI' do
+    context 'when given text with a stand-alone xmpp: URI' do
       let(:text) { 'xmpp:user@instance.com' }
 
       it 'matches the full URI' do
@@ -296,7 +296,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text with an xmpp: URI with a query-string' do
+    context 'when given text with an xmpp: URI with a query-string' do
       let(:text) { 'please join xmpp:muc@instance.com?join right now' }
 
       it 'matches the full URI' do
@@ -304,7 +304,7 @@ RSpec.describe TextFormatter do
       end
     end
 
-    context 'given text containing a magnet: URI' do
+    context 'when given text containing a magnet: URI' do
       let(:text) { 'wikipedia gives this example of a magnet uri: magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a' }
 
       it 'matches the full URI' do
diff --git a/spec/models/account/field_spec.rb b/spec/models/account/field_spec.rb
index 6745fbb26..52183e5aa 100644
--- a/spec/models/account/field_spec.rb
+++ b/spec/models/account/field_spec.rb
@@ -49,10 +49,10 @@ RSpec.describe Account::Field, type: :model do
 
     let(:account) { double('Account', local?: local) }
 
-    context 'for local accounts' do
+    context 'with local accounts' do
       let(:local) { true }
 
-      context 'for a URL with misleading authentication' do
+      context 'with a URL with misleading authentication' do
         let(:value) { 'https://spacex.com                                                                                            @h.43z.one' }
 
         it 'returns false' do
@@ -60,7 +60,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for a URL' do
+      context 'with a URL' do
         let(:value) { 'https://example.com' }
 
         it 'returns true' do
@@ -68,7 +68,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for an IDN URL' do
+      context 'with an IDN URL' do
         let(:value) { 'https://twitter.com∕dougallj∕status∕1590357240443437057.ê.cc/twitter.html' }
 
         it 'returns false' do
@@ -76,7 +76,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for a URL with a non-normalized path' do
+      context 'with a URL with a non-normalized path' do
         let(:value) { 'https://github.com/octocatxxxxxxxx/../mastodon' }
 
         it 'returns false' do
@@ -84,7 +84,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for text that is not a URL' do
+      context 'with text that is not a URL' do
         let(:value) { 'Hello world' }
 
         it 'returns false' do
@@ -92,7 +92,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for text that contains a URL' do
+      context 'with text that contains a URL' do
         let(:value) { 'Hello https://example.com world' }
 
         it 'returns false' do
@@ -100,7 +100,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for text which is blank' do
+      context 'with text which is blank' do
         let(:value) { '' }
 
         it 'returns false' do
@@ -109,10 +109,10 @@ RSpec.describe Account::Field, type: :model do
       end
     end
 
-    context 'for remote accounts' do
+    context 'with remote accounts' do
       let(:local) { false }
 
-      context 'for a link' do
+      context 'with a link' do
         let(:value) { '<a href="https://www.patreon.com/mastodon" target="_blank" rel="nofollow noopener noreferrer me"><span class="invisible">https://www.</span><span class="">patreon.com/mastodon</span><span class="invisible"></span></a>' }
 
         it 'returns true' do
@@ -120,7 +120,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for a link with misleading authentication' do
+      context 'with a link with misleading authentication' do
         let(:value) { '<a href="https://google.com                                                                                            @h.43z.one" target="_blank" rel="nofollow noopener noreferrer me"><span class="invisible">https://</span><span class="">google.com</span><span class="invisible">                                                                                            @h.43z.one</span></a>' }
 
         it 'returns false' do
@@ -128,7 +128,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for HTML that has more than just a link' do
+      context 'with HTML that has more than just a link' do
         let(:value) { '<a href="https://google.com" target="_blank" rel="nofollow noopener noreferrer me"><span class="invisible">https://</span><span class="">google.com</span><span class="invisible"></span></a>                                                                                            @h.43z.one' }
 
         it 'returns false' do
@@ -136,7 +136,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for a link with different visible text' do
+      context 'with a link with different visible text' do
         let(:value) { '<a href="https://google.com/bar">https://example.com/foo</a>' }
 
         it 'returns false' do
@@ -144,7 +144,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for text that is a URL but is not linked' do
+      context 'with text that is a URL but is not linked' do
         let(:value) { 'https://example.com/foo' }
 
         it 'returns false' do
@@ -152,7 +152,7 @@ RSpec.describe Account::Field, type: :model do
         end
       end
 
-      context 'for text which is blank' do
+      context 'with text which is blank' do
         let(:value) { '' }
 
         it 'returns false' do
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb
index 8c6c10c54..7ea3a94f5 100644
--- a/spec/models/account_spec.rb
+++ b/spec/models/account_spec.rb
@@ -171,7 +171,7 @@ RSpec.describe Account, type: :model do
   describe '#possibly_stale?' do
     let(:account) { Fabricate(:account, last_webfingered_at: last_webfingered_at) }
 
-    context 'last_webfingered_at is nil' do
+    context 'when last_webfingered_at is nil' do
       let(:last_webfingered_at) { nil }
 
       it 'returns true' do
@@ -179,7 +179,7 @@ RSpec.describe Account, type: :model do
       end
     end
 
-    context 'last_webfingered_at is more than 24 hours before' do
+    context 'when last_webfingered_at is more than 24 hours before' do
       let(:last_webfingered_at) { 25.hours.ago }
 
       it 'returns true' do
@@ -187,7 +187,7 @@ RSpec.describe Account, type: :model do
       end
     end
 
-    context 'last_webfingered_at is less than 24 hours before' do
+    context 'when last_webfingered_at is less than 24 hours before' do
       let(:last_webfingered_at) { 23.hours.ago }
 
       it 'returns false' do
@@ -200,7 +200,7 @@ RSpec.describe Account, type: :model do
     let(:account) { Fabricate(:account, domain: domain) }
     let(:acct)    { account.acct }
 
-    context 'domain is nil' do
+    context 'when domain is nil' do
       let(:domain) { nil }
 
       it 'returns nil' do
@@ -213,7 +213,7 @@ RSpec.describe Account, type: :model do
       end
     end
 
-    context 'domain is present' do
+    context 'when domain is present' do
       let(:domain) { 'example.com' }
 
       it 'calls ResolveAccountService#call' do
diff --git a/spec/models/admin/account_action_spec.rb b/spec/models/admin/account_action_spec.rb
index 9f41b7c8e..1fc56efc7 100644
--- a/spec/models/admin/account_action_spec.rb
+++ b/spec/models/admin/account_action_spec.rb
@@ -20,7 +20,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       )
     end
 
-    context 'type is "disable"' do
+    context 'when type is "disable"' do
       let(:type) { 'disable' }
 
       it 'disable user' do
@@ -29,7 +29,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       end
     end
 
-    context 'type is "silence"' do
+    context 'when type is "silence"' do
       let(:type) { 'silence' }
 
       it 'silences account' do
@@ -38,7 +38,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       end
     end
 
-    context 'type is "suspend"' do
+    context 'when type is "suspend"' do
       let(:type) { 'suspend' }
 
       it 'suspends account' do
@@ -75,7 +75,7 @@ RSpec.describe Admin::AccountAction, type: :model do
   describe '#report' do
     subject { account_action.report }
 
-    context 'report_id.present?' do
+    context 'with report_id.present?' do
       before do
         account_action.report_id = Fabricate(:report).id
       end
@@ -85,7 +85,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       end
     end
 
-    context '!report_id.present?' do
+    context 'with !report_id.present?' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -95,7 +95,7 @@ RSpec.describe Admin::AccountAction, type: :model do
   describe '#with_report?' do
     subject { account_action.with_report? }
 
-    context '!report.nil?' do
+    context 'with !report.nil?' do
       before do
         account_action.report_id = Fabricate(:report).id
       end
@@ -105,7 +105,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       end
     end
 
-    context '!(!report.nil?)' do
+    context 'with !(!report.nil?)' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -115,7 +115,7 @@ RSpec.describe Admin::AccountAction, type: :model do
   describe '.types_for_account' do
     subject { described_class.types_for_account(account) }
 
-    context 'account.local?' do
+    context 'when Account.local?' do
       let(:account) { Fabricate(:account, domain: nil) }
 
       it 'returns ["none", "disable", "sensitive", "silence", "suspend"]' do
@@ -123,7 +123,7 @@ RSpec.describe Admin::AccountAction, type: :model do
       end
     end
 
-    context '!account.local?' do
+    context 'with !account.local?' do
       let(:account) { Fabricate(:account, domain: 'hoge.com') }
 
       it 'returns ["sensitive", "silence", "suspend"]' do
diff --git a/spec/models/concerns/account_interactions_spec.rb b/spec/models/concerns/account_interactions_spec.rb
index 8e3f6f560..dc03aad7d 100644
--- a/spec/models/concerns/account_interactions_spec.rb
+++ b/spec/models/concerns/account_interactions_spec.rb
@@ -13,14 +13,14 @@ describe AccountInteractions do
   describe '.following_map' do
     subject { Account.following_map(target_account_ids, account_id) }
 
-    context 'account with Follow' do
+    context 'when Account with Follow' do
       it 'returns { target_account_id => true }' do
         Fabricate(:follow, account: account, target_account: target_account)
         expect(subject).to eq(target_account_id => { reblogs: true, notify: false, languages: nil })
       end
     end
 
-    context 'account without Follow' do
+    context 'when Account without Follow' do
       it 'returns {}' do
         expect(subject).to eq({})
       end
@@ -30,14 +30,14 @@ describe AccountInteractions do
   describe '.followed_by_map' do
     subject { Account.followed_by_map(target_account_ids, account_id) }
 
-    context 'account with Follow' do
+    context 'when Account with Follow' do
       it 'returns { target_account_id => true }' do
         Fabricate(:follow, account: target_account, target_account: account)
         expect(subject).to eq(target_account_id => true)
       end
     end
 
-    context 'account without Follow' do
+    context 'when Account without Follow' do
       it 'returns {}' do
         expect(subject).to eq({})
       end
@@ -47,14 +47,14 @@ describe AccountInteractions do
   describe '.blocking_map' do
     subject { Account.blocking_map(target_account_ids, account_id) }
 
-    context 'account with Block' do
+    context 'when Account with Block' do
       it 'returns { target_account_id => true }' do
         Fabricate(:block, account: account, target_account: target_account)
         expect(subject).to eq(target_account_id => true)
       end
     end
 
-    context 'account without Block' do
+    context 'when Account without Block' do
       it 'returns {}' do
         expect(subject).to eq({})
       end
@@ -64,12 +64,12 @@ describe AccountInteractions do
   describe '.muting_map' do
     subject { Account.muting_map(target_account_ids, account_id) }
 
-    context 'account with Mute' do
+    context 'when Account with Mute' do
       before do
         Fabricate(:mute, target_account: target_account, account: account, hide_notifications: hide)
       end
 
-      context 'if Mute#hide_notifications?' do
+      context 'when Mute#hide_notifications?' do
         let(:hide) { true }
 
         it 'returns { target_account_id => { notifications: true } }' do
@@ -77,7 +77,7 @@ describe AccountInteractions do
         end
       end
 
-      context 'unless Mute#hide_notifications?' do
+      context 'when not Mute#hide_notifications?' do
         let(:hide) { false }
 
         it 'returns { target_account_id => { notifications: false } }' do
@@ -86,7 +86,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'account without Mute' do
+    context 'when Account without Mute' do
       it 'returns {}' do
         expect(subject).to eq({})
       end
@@ -112,8 +112,8 @@ describe AccountInteractions do
   describe '#mute!' do
     subject { account.mute!(target_account, notifications: arg_notifications) }
 
-    context 'Mute does not exist yet' do
-      context 'arg :notifications is nil' do
+    context 'when Mute does not exist yet' do
+      context 'when arg :notifications is nil' do
         let(:arg_notifications) { nil }
 
         it 'creates Mute, and returns Mute' do
@@ -123,7 +123,7 @@ describe AccountInteractions do
         end
       end
 
-      context 'arg :notifications is false' do
+      context 'when arg :notifications is false' do
         let(:arg_notifications) { false }
 
         it 'creates Mute, and returns Mute' do
@@ -133,7 +133,7 @@ describe AccountInteractions do
         end
       end
 
-      context 'arg :notifications is true' do
+      context 'when arg :notifications is true' do
         let(:arg_notifications) { true }
 
         it 'creates Mute, and returns Mute' do
@@ -144,7 +144,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'Mute already exists' do
+    context 'when Mute already exists' do
       before do
         account.mute_relationships << mute
       end
@@ -156,10 +156,10 @@ describe AccountInteractions do
                   hide_notifications: hide_notifications)
       end
 
-      context 'mute.hide_notifications is true' do
+      context 'when mute.hide_notifications is true' do
         let(:hide_notifications) { true }
 
-        context 'arg :notifications is nil' do
+        context 'when arg :notifications is nil' do
           let(:arg_notifications) { nil }
 
           it 'returns Mute without updating mute.hide_notifications' do
@@ -169,7 +169,7 @@ describe AccountInteractions do
           end
         end
 
-        context 'arg :notifications is false' do
+        context 'when arg :notifications is false' do
           let(:arg_notifications) { false }
 
           it 'returns Mute, and updates mute.hide_notifications false' do
@@ -179,7 +179,7 @@ describe AccountInteractions do
           end
         end
 
-        context 'arg :notifications is true' do
+        context 'when arg :notifications is true' do
           let(:arg_notifications) { true }
 
           it 'returns Mute without updating mute.hide_notifications' do
@@ -190,10 +190,10 @@ describe AccountInteractions do
         end
       end
 
-      context 'mute.hide_notifications is false' do
+      context 'when mute.hide_notifications is false' do
         let(:hide_notifications) { false }
 
-        context 'arg :notifications is nil' do
+        context 'when arg :notifications is nil' do
           let(:arg_notifications) { nil }
 
           it 'returns Mute, and updates mute.hide_notifications true' do
@@ -203,7 +203,7 @@ describe AccountInteractions do
           end
         end
 
-        context 'arg :notifications is false' do
+        context 'when arg :notifications is false' do
           let(:arg_notifications) { false }
 
           it 'returns Mute without updating mute.hide_notifications' do
@@ -213,7 +213,7 @@ describe AccountInteractions do
           end
         end
 
-        context 'arg :notifications is true' do
+        context 'when arg :notifications is true' do
           let(:arg_notifications) { true }
 
           it 'returns Mute, and updates mute.hide_notifications true' do
@@ -253,7 +253,7 @@ describe AccountInteractions do
   describe '#unfollow!' do
     subject { account.unfollow!(target_account) }
 
-    context 'following target_account' do
+    context 'when following target_account' do
       it 'returns destroyed Follow' do
         account.active_relationships.create(target_account: target_account)
         expect(subject).to be_a Follow
@@ -261,7 +261,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not following target_account' do
+    context 'when not following target_account' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -271,7 +271,7 @@ describe AccountInteractions do
   describe '#unblock!' do
     subject { account.unblock!(target_account) }
 
-    context 'blocking target_account' do
+    context 'when blocking target_account' do
       it 'returns destroyed Block' do
         account.block_relationships.create(target_account: target_account)
         expect(subject).to be_a Block
@@ -279,7 +279,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not blocking target_account' do
+    context 'when not blocking target_account' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -289,7 +289,7 @@ describe AccountInteractions do
   describe '#unmute!' do
     subject { account.unmute!(target_account) }
 
-    context 'muting target_account' do
+    context 'when muting target_account' do
       it 'returns destroyed Mute' do
         account.mute_relationships.create(target_account: target_account)
         expect(subject).to be_a Mute
@@ -297,7 +297,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not muting target_account' do
+    context 'when not muting target_account' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -309,7 +309,7 @@ describe AccountInteractions do
 
     let(:conversation) { Fabricate(:conversation) }
 
-    context 'muting the conversation' do
+    context 'when muting the conversation' do
       it 'returns destroyed ConversationMute' do
         account.conversation_mutes.create(conversation: conversation)
         expect(subject).to be_a ConversationMute
@@ -317,7 +317,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not muting the conversation' do
+    context 'when not muting the conversation' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -329,7 +329,7 @@ describe AccountInteractions do
 
     let(:domain) { 'example.com' }
 
-    context 'blocking the domain' do
+    context 'when blocking the domain' do
       it 'returns destroyed AccountDomainBlock' do
         account_domain_block = Fabricate(:account_domain_block, domain: domain)
         account.domain_blocks << account_domain_block
@@ -338,7 +338,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'unblocking the domain' do
+    context 'when unblocking the domain' do
       it 'returns nil' do
         expect(subject).to be_nil
       end
@@ -348,14 +348,14 @@ describe AccountInteractions do
   describe '#following?' do
     subject { account.following?(target_account) }
 
-    context 'following target_account' do
+    context 'when following target_account' do
       it 'returns true' do
         account.active_relationships.create(target_account: target_account)
         expect(subject).to be true
       end
     end
 
-    context 'not following target_account' do
+    context 'when not following target_account' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -365,14 +365,14 @@ describe AccountInteractions do
   describe '#followed_by?' do
     subject { account.followed_by?(target_account) }
 
-    context 'followed by target_account' do
+    context 'when followed by target_account' do
       it 'returns true' do
         account.passive_relationships.create(account: target_account)
         expect(subject).to be true
       end
     end
 
-    context 'not followed by target_account' do
+    context 'when not followed by target_account' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -382,14 +382,14 @@ describe AccountInteractions do
   describe '#blocking?' do
     subject { account.blocking?(target_account) }
 
-    context 'blocking target_account' do
+    context 'when blocking target_account' do
       it 'returns true' do
         account.block_relationships.create(target_account: target_account)
         expect(subject).to be true
       end
     end
 
-    context 'not blocking target_account' do
+    context 'when not blocking target_account' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -401,7 +401,7 @@ describe AccountInteractions do
 
     let(:domain) { 'example.com' }
 
-    context 'blocking the domain' do
+    context 'when blocking the domain' do
       it 'returns true' do
         account_domain_block = Fabricate(:account_domain_block, domain: domain)
         account.domain_blocks << account_domain_block
@@ -409,7 +409,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not blocking the domain' do
+    context 'when not blocking the domain' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -419,7 +419,7 @@ describe AccountInteractions do
   describe '#muting?' do
     subject { account.muting?(target_account) }
 
-    context 'muting target_account' do
+    context 'when muting target_account' do
       it 'returns true' do
         mute = Fabricate(:mute, account: account, target_account: target_account)
         account.mute_relationships << mute
@@ -427,7 +427,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not muting target_account' do
+    context 'when not muting target_account' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -439,14 +439,14 @@ describe AccountInteractions do
 
     let(:conversation) { Fabricate(:conversation) }
 
-    context 'muting the conversation' do
+    context 'when muting the conversation' do
       it 'returns true' do
         account.conversation_mutes.create(conversation: conversation)
         expect(subject).to be true
       end
     end
 
-    context 'not muting the conversation' do
+    context 'when not muting the conversation' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -461,7 +461,7 @@ describe AccountInteractions do
       account.mute_relationships << mute
     end
 
-    context 'muting notifications of target_account' do
+    context 'when muting notifications of target_account' do
       let(:hide) { true }
 
       it 'returns true' do
@@ -469,7 +469,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not muting notifications of target_account' do
+    context 'when not muting notifications of target_account' do
       let(:hide) { false }
 
       it 'returns false' do
@@ -481,14 +481,14 @@ describe AccountInteractions do
   describe '#requested?' do
     subject { account.requested?(target_account) }
 
-    context 'requested by target_account' do
+    context 'with requested by target_account' do
       it 'returns true' do
         Fabricate(:follow_request, account: account, target_account: target_account)
         expect(subject).to be true
       end
     end
 
-    context 'not requested by target_account' do
+    context 'when not requested by target_account' do
       it 'returns false' do
         expect(subject).to be false
       end
@@ -500,7 +500,7 @@ describe AccountInteractions do
 
     let(:status) { Fabricate(:status, account: account, favourites: favourites) }
 
-    context 'favorited' do
+    context 'when favorited' do
       let(:favourites) { [Fabricate(:favourite, account: account)] }
 
       it 'returns true' do
@@ -508,7 +508,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not favorited' do
+    context 'when not favorited' do
       let(:favourites) { [] }
 
       it 'returns false' do
@@ -522,7 +522,7 @@ describe AccountInteractions do
 
     let(:status) { Fabricate(:status, account: account, reblogs: reblogs) }
 
-    context 'reblogged' do
+    context 'with reblogged' do
       let(:reblogs) { [Fabricate(:status, account: account)] }
 
       it 'returns true' do
@@ -530,7 +530,7 @@ describe AccountInteractions do
       end
     end
 
-    context 'not reblogged' do
+    context 'when not reblogged' do
       let(:reblogs) { [] }
 
       it 'returns false' do
@@ -544,14 +544,14 @@ describe AccountInteractions do
 
     let(:status) { Fabricate(:status, account: account) }
 
-    context 'pinned' do
+    context 'when pinned' do
       it 'returns true' do
         Fabricate(:status_pin, account: account, status: status)
         expect(subject).to be true
       end
     end
 
-    context 'not pinned' do
+    context 'when not pinned' do
       it 'returns false' do
         expect(subject).to be false
       end
diff --git a/spec/models/concerns/remotable_spec.rb b/spec/models/concerns/remotable_spec.rb
index 9fcf48619..b2aa56a70 100644
--- a/spec/models/concerns/remotable_spec.rb
+++ b/spec/models/concerns/remotable_spec.rb
@@ -156,7 +156,7 @@ RSpec.describe Remotable do
       context 'when the response is successful' do
         let(:code) { 200 }
 
-        context 'and contains Content-Disposition header' do
+        context 'when contains Content-Disposition header' do
           let(:file)      { 'filename="foo.txt"' }
           let(:headers)   { { 'content-disposition' => file } }
 
diff --git a/spec/models/custom_emoji_filter_spec.rb b/spec/models/custom_emoji_filter_spec.rb
index 8324a490b..d8a2bea6b 100644
--- a/spec/models/custom_emoji_filter_spec.rb
+++ b/spec/models/custom_emoji_filter_spec.rb
@@ -10,8 +10,8 @@ RSpec.describe CustomEmojiFilter do
     let!(:custom_emoji_1) { Fabricate(:custom_emoji, domain: 'b') }
     let!(:custom_emoji_2) { Fabricate(:custom_emoji, domain: nil, shortcode: 'hoge') }
 
-    context 'params have values' do
-      context 'local' do
+    context 'when params have values' do
+      context 'when local' do
         let(:params) { { local: true } }
 
         it 'returns ActiveRecord::Relation' do
@@ -20,7 +20,7 @@ RSpec.describe CustomEmojiFilter do
         end
       end
 
-      context 'remote' do
+      context 'when remote' do
         let(:params) { { remote: true } }
 
         it 'returns ActiveRecord::Relation' do
@@ -29,7 +29,7 @@ RSpec.describe CustomEmojiFilter do
         end
       end
 
-      context 'by_domain' do
+      context 'with by_domain' do
         let(:params) { { by_domain: 'a' } }
 
         it 'returns ActiveRecord::Relation' do
@@ -38,7 +38,7 @@ RSpec.describe CustomEmojiFilter do
         end
       end
 
-      context 'shortcode' do
+      context 'when shortcode' do
         let(:params) { { shortcode: 'hoge' } }
 
         it 'returns ActiveRecord::Relation' do
@@ -47,7 +47,7 @@ RSpec.describe CustomEmojiFilter do
         end
       end
 
-      context 'else' do
+      context 'when some other case' do
         let(:params) { { else: 'else' } }
 
         it 'raises Mastodon::InvalidParameterError' do
@@ -58,7 +58,7 @@ RSpec.describe CustomEmojiFilter do
       end
     end
 
-    context 'params without value' do
+    context 'when params without value' do
       let(:params) { { hoge: nil } }
 
       it 'returns ActiveRecord::Relation' do
diff --git a/spec/models/custom_emoji_spec.rb b/spec/models/custom_emoji_spec.rb
index ef5f39aca..a6e6cd7a5 100644
--- a/spec/models/custom_emoji_spec.rb
+++ b/spec/models/custom_emoji_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe CustomEmoji, type: :model do
 
     let(:custom_emoji) { Fabricate(:custom_emoji, shortcode: shortcode) }
 
-    context 'shortcode is exact' do
+    context 'when shortcode is exact' do
       let(:shortcode) { 'blobpats' }
       let(:search_term) { 'blobpats' }
 
@@ -17,7 +17,7 @@ RSpec.describe CustomEmoji, type: :model do
       end
     end
 
-    context 'shortcode is partial' do
+    context 'when shortcode is partial' do
       let(:shortcode) { 'blobpats' }
       let(:search_term) { 'blob' }
 
@@ -32,7 +32,7 @@ RSpec.describe CustomEmoji, type: :model do
 
     let(:custom_emoji) { Fabricate(:custom_emoji, domain: domain) }
 
-    context 'domain is nil' do
+    context 'when domain is nil' do
       let(:domain) { nil }
 
       it 'returns true' do
@@ -40,7 +40,7 @@ RSpec.describe CustomEmoji, type: :model do
       end
     end
 
-    context 'domain is present' do
+    context 'when domain is present' do
       let(:domain) { 'example.com' }
 
       it 'returns false' do
diff --git a/spec/models/email_domain_block_spec.rb b/spec/models/email_domain_block_spec.rb
index 3321ffc81..1ae12b1ff 100644
--- a/spec/models/email_domain_block_spec.rb
+++ b/spec/models/email_domain_block_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe EmailDomainBlock, type: :model do
   describe 'block?' do
     let(:input) { nil }
 
-    context 'given an e-mail address' do
+    context 'when given an e-mail address' do
       let(:input) { "foo@#{domain}" }
 
       context do
@@ -33,7 +33,7 @@ RSpec.describe EmailDomainBlock, type: :model do
       end
     end
 
-    context 'given an array of domains' do
+    context 'when given an array of domains' do
       let(:input) { %w(foo.com mail.foo.com) }
 
       it 'returns true if the domain is blocked' do
diff --git a/spec/models/media_attachment_spec.rb b/spec/models/media_attachment_spec.rb
index 63edfc152..c590de9be 100644
--- a/spec/models/media_attachment_spec.rb
+++ b/spec/models/media_attachment_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe MediaAttachment, type: :model do
 
     let(:media_attachment) { Fabricate(:media_attachment, remote_url: remote_url) }
 
-    context 'remote_url is blank' do
+    context 'when remote_url is blank' do
       let(:remote_url) { '' }
 
       it 'returns true' do
@@ -16,7 +16,7 @@ RSpec.describe MediaAttachment, type: :model do
       end
     end
 
-    context 'remote_url is present' do
+    context 'when remote_url is present' do
       let(:remote_url) { 'remote_url' }
 
       it 'returns false' do
@@ -30,10 +30,10 @@ RSpec.describe MediaAttachment, type: :model do
 
     let(:media_attachment) { Fabricate(:media_attachment, remote_url: remote_url, file: file) }
 
-    context 'file is blank' do
+    context 'when file is blank' do
       let(:file) { nil }
 
-      context 'remote_url is present' do
+      context 'when remote_url is present' do
         let(:remote_url) { 'remote_url' }
 
         it 'returns true' do
@@ -42,10 +42,10 @@ RSpec.describe MediaAttachment, type: :model do
       end
     end
 
-    context 'file is present' do
+    context 'when file is present' do
       let(:file) { attachment_fixture('avatar.gif') }
 
-      context 'remote_url is blank' do
+      context 'when remote_url is blank' do
         let(:remote_url) { '' }
 
         it 'returns false' do
@@ -53,7 +53,7 @@ RSpec.describe MediaAttachment, type: :model do
         end
       end
 
-      context 'remote_url is present' do
+      context 'when remote_url is present' do
         let(:remote_url) { 'remote_url' }
 
         it 'returns true' do
diff --git a/spec/models/notification_spec.rb b/spec/models/notification_spec.rb
index 64527e3d7..0c6af3eee 100644
--- a/spec/models/notification_spec.rb
+++ b/spec/models/notification_spec.rb
@@ -10,7 +10,7 @@ RSpec.describe Notification, type: :model do
     let(:favourite)    { Fabricate(:favourite, status: status) }
     let(:mention)      { Fabricate(:mention, status: status) }
 
-    context 'activity is reblog' do
+    context 'when Activity is reblog' do
       let(:activity) { reblog }
 
       it 'returns status' do
@@ -18,7 +18,7 @@ RSpec.describe Notification, type: :model do
       end
     end
 
-    context 'activity is favourite' do
+    context 'when Activity is favourite' do
       let(:type)     { :favourite }
       let(:activity) { favourite }
 
@@ -27,7 +27,7 @@ RSpec.describe Notification, type: :model do
       end
     end
 
-    context 'activity is mention' do
+    context 'when Activity is mention' do
       let(:activity) { mention }
 
       it 'returns status' do
@@ -66,7 +66,7 @@ RSpec.describe Notification, type: :model do
       end
     end
 
-    context 'notifications are empty' do
+    context 'when notifications are empty' do
       let(:notifications) { [] }
 
       it 'returns []' do
@@ -74,7 +74,7 @@ RSpec.describe Notification, type: :model do
       end
     end
 
-    context 'notifications are present' do
+    context 'when notifications are present' do
       before do
         notifications.each(&:reload)
       end
diff --git a/spec/models/remote_follow_spec.rb b/spec/models/remote_follow_spec.rb
index ea36b0076..81c726a40 100644
--- a/spec/models/remote_follow_spec.rb
+++ b/spec/models/remote_follow_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe RemoteFollow do
   describe '.initialize' do
     subject { remote_follow.acct }
 
-    context 'attrs with acct' do
+    context 'when attrs with acct' do
       let(:attrs) { { acct: 'gargron@quitter.no' } }
 
       it 'returns acct' do
@@ -21,7 +21,7 @@ RSpec.describe RemoteFollow do
       end
     end
 
-    context 'attrs without acct' do
+    context 'when attrs without acct' do
       let(:attrs) { {} }
 
       it do
@@ -33,7 +33,7 @@ RSpec.describe RemoteFollow do
   describe '#valid?' do
     subject { remote_follow.valid? }
 
-    context 'attrs with acct' do
+    context 'when attrs with acct' do
       let(:attrs) { { acct: 'gargron@quitter.no' } }
 
       it do
@@ -41,7 +41,7 @@ RSpec.describe RemoteFollow do
       end
     end
 
-    context 'attrs without acct' do
+    context 'when attrs without acct' do
       let(:attrs) { {} }
 
       it do
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index 20a048c33..b006f60bb 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -89,13 +89,13 @@ describe Report do
 
     let(:report) { Fabricate(:report, action_taken_at: action_taken) }
 
-    context 'if action is taken' do
+    context 'when action is taken' do
       let(:action_taken) { Time.now.utc }
 
       it { is_expected.to be false }
     end
 
-    context 'if action not is taken' do
+    context 'when action not is taken' do
       let(:action_taken) { nil }
 
       it { is_expected.to be true }
diff --git a/spec/models/session_activation_spec.rb b/spec/models/session_activation_spec.rb
index 375199d57..96411c359 100644
--- a/spec/models/session_activation_spec.rb
+++ b/spec/models/session_activation_spec.rb
@@ -40,7 +40,7 @@ RSpec.describe SessionActivation, type: :model do
   describe '.active?' do
     subject { described_class.active?(id) }
 
-    context 'id is absent' do
+    context 'when id is absent' do
       let(:id) { nil }
 
       it 'returns nil' do
@@ -48,17 +48,17 @@ RSpec.describe SessionActivation, type: :model do
       end
     end
 
-    context 'id is present' do
+    context 'when id is present' do
       let(:id) { '1' }
       let!(:session_activation) { Fabricate(:session_activation, session_id: id) }
 
-      context 'id exists as session_id' do
+      context 'when id exists as session_id' do
         it 'returns true' do
           expect(subject).to be true
         end
       end
 
-      context 'id does not exist as session_id' do
+      context 'when id does not exist as session_id' do
         before do
           session_activation.update!(session_id: '2')
         end
@@ -85,7 +85,7 @@ RSpec.describe SessionActivation, type: :model do
   end
 
   describe '.deactivate' do
-    context 'id is absent' do
+    context 'when id is absent' do
       let(:id) { nil }
 
       it 'returns nil' do
@@ -93,7 +93,7 @@ RSpec.describe SessionActivation, type: :model do
       end
     end
 
-    context 'id exists' do
+    context 'when id exists' do
       let(:id) { '1' }
 
       it 'calls where.destroy_all' do
diff --git a/spec/models/setting_spec.rb b/spec/models/setting_spec.rb
index 826a13878..9b4d98da5 100644
--- a/spec/models/setting_spec.rb
+++ b/spec/models/setting_spec.rb
@@ -19,7 +19,7 @@ RSpec.describe Setting, type: :model do
 
     let(:key) { 'key' }
 
-    context 'rails_initialized? is falsey' do
+    context 'when rails_initialized? is falsey' do
       let(:rails_initialized) { false }
 
       it 'calls RailsSettings::Base#[]' do
@@ -28,7 +28,7 @@ RSpec.describe Setting, type: :model do
       end
     end
 
-    context 'rails_initialized? is truthy' do
+    context 'when rails_initialized? is truthy' do
       before do
         allow(RailsSettings::Base).to receive(:cache_key).with(key, nil).and_return(cache_key)
       end
@@ -42,7 +42,7 @@ RSpec.describe Setting, type: :model do
         described_class[key]
       end
 
-      context 'Rails.cache does not exists' do
+      context 'when Rails.cache does not exists' do
         before do
           allow(RailsSettings::Settings).to receive(:object).with(key).and_return(object)
           allow(described_class).to receive(:default_settings).and_return(default_settings)
@@ -60,11 +60,11 @@ RSpec.describe Setting, type: :model do
           described_class[key]
         end
 
-        context 'RailsSettings::Settings.object returns truthy' do
+        context 'when RailsSettings::Settings.object returns truthy' do
           let(:object) { db_val }
           let(:db_val) { double(value: 'db_val') }
 
-          context 'default_value is a Hash' do
+          context 'when default_value is a Hash' do
             let(:default_value) { { default_value: 'default_value' } }
 
             it 'calls default_value.with_indifferent_access.merge!' do
@@ -75,7 +75,7 @@ RSpec.describe Setting, type: :model do
             end
           end
 
-          context 'default_value is not a Hash' do
+          context 'when default_value is not a Hash' do
             let(:default_value) { 'default_value' }
 
             it 'returns db_val.value' do
@@ -84,7 +84,7 @@ RSpec.describe Setting, type: :model do
           end
         end
 
-        context 'RailsSettings::Settings.object returns falsey' do
+        context 'when RailsSettings::Settings.object returns falsey' do
           let(:object) { nil }
 
           it 'returns default_settings[key]' do
@@ -93,7 +93,7 @@ RSpec.describe Setting, type: :model do
         end
       end
 
-      context 'Rails.cache exists' do
+      context 'when Rails.cache exists' do
         before do
           Rails.cache.write(cache_key, cache_value)
         end
@@ -130,7 +130,7 @@ RSpec.describe Setting, type: :model do
       expect(described_class.all_as_records).to be_a Hash
     end
 
-    context 'records includes Setting with var as the key' do
+    context 'when records includes Setting with var as the key' do
       let(:records) { [original_setting] }
 
       it 'includes the original Setting' do
@@ -139,10 +139,10 @@ RSpec.describe Setting, type: :model do
       end
     end
 
-    context 'records includes nothing' do
+    context 'when records includes nothing' do
       let(:records) { [] }
 
-      context 'default_value is not a Hash' do
+      context 'when default_value is not a Hash' do
         it 'includes Setting with value of default_value' do
           setting = described_class.all_as_records[key]
 
@@ -152,7 +152,7 @@ RSpec.describe Setting, type: :model do
         end
       end
 
-      context 'default_value is a Hash' do
+      context 'when default_value is a Hash' do
         let(:default_value) { { 'foo' => 'fuga' } }
 
         it 'returns {}' do
@@ -169,7 +169,7 @@ RSpec.describe Setting, type: :model do
       allow(RailsSettings::Default).to receive(:enabled?).and_return(enabled)
     end
 
-    context 'RailsSettings::Default.enabled? is false' do
+    context 'when RailsSettings::Default.enabled? is false' do
       let(:enabled) { false }
 
       it 'returns {}' do
@@ -177,7 +177,7 @@ RSpec.describe Setting, type: :model do
       end
     end
 
-    context 'RailsSettings::Settings.enabled? is true' do
+    context 'when RailsSettings::Settings.enabled? is true' do
       let(:enabled) { true }
 
       it 'returns instance of RailsSettings::Default' do
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index ef08458fb..243d85c84 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -49,22 +49,22 @@ RSpec.describe Status, type: :model do
   end
 
   describe '#verb' do
-    context 'if destroyed?' do
+    context 'when destroyed?' do
       it 'returns :delete' do
         subject.destroy!
         expect(subject.verb).to be :delete
       end
     end
 
-    context 'unless destroyed?' do
-      context 'if reblog?' do
+    context 'when not destroyed?' do
+      context 'when reblog?' do
         it 'returns :share' do
           subject.reblog = other
           expect(subject.verb).to be :share
         end
       end
 
-      context 'unless reblog?' do
+      context 'when not reblog?' do
         it 'returns :post' do
           subject.reblog = nil
           expect(subject.verb).to be :post
@@ -85,28 +85,28 @@ RSpec.describe Status, type: :model do
   end
 
   describe '#hidden?' do
-    context 'if private_visibility?' do
+    context 'when private_visibility?' do
       it 'returns true' do
         subject.visibility = :private
         expect(subject.hidden?).to be true
       end
     end
 
-    context 'if direct_visibility?' do
+    context 'when direct_visibility?' do
       it 'returns true' do
         subject.visibility = :direct
         expect(subject.hidden?).to be true
       end
     end
 
-    context 'if public_visibility?' do
+    context 'when public_visibility?' do
       it 'returns false' do
         subject.visibility = :public
         expect(subject.hidden?).to be false
       end
     end
 
-    context 'if unlisted_visibility?' do
+    context 'when unlisted_visibility?' do
       it 'returns false' do
         subject.visibility = :unlisted
         expect(subject.hidden?).to be false
diff --git a/spec/models/web/push_subscription_spec.rb b/spec/models/web/push_subscription_spec.rb
index e925e4c4c..0f9b33140 100644
--- a/spec/models/web/push_subscription_spec.rb
+++ b/spec/models/web/push_subscription_spec.rb
@@ -56,7 +56,7 @@ RSpec.describe Web::PushSubscription, type: :model do
     context 'when policy is followed' do
       let(:policy) { 'followed' }
 
-      context 'and notification is from someone you follow' do
+      context 'when notification is from someone you follow' do
         before do
           account.follow!(notification.from_account)
         end
@@ -66,7 +66,7 @@ RSpec.describe Web::PushSubscription, type: :model do
         end
       end
 
-      context 'and notification is not from someone you follow' do
+      context 'when notification is not from someone you follow' do
         it 'returns false' do
           expect(subject.pushable?(notification)).to be false
         end
@@ -76,7 +76,7 @@ RSpec.describe Web::PushSubscription, type: :model do
     context 'when policy is follower' do
       let(:policy) { 'follower' }
 
-      context 'and notification is from someone who follows you' do
+      context 'when notification is from someone who follows you' do
         before do
           notification.from_account.follow!(account)
         end
@@ -86,7 +86,7 @@ RSpec.describe Web::PushSubscription, type: :model do
         end
       end
 
-      context 'and notification is not from someone who follows you' do
+      context 'when notification is not from someone who follows you' do
         it 'returns false' do
           expect(subject.pushable?(notification)).to be false
         end
diff --git a/spec/policies/account_moderation_note_policy_spec.rb b/spec/policies/account_moderation_note_policy_spec.rb
index 846747346..03d18250b 100644
--- a/spec/policies/account_moderation_note_policy_spec.rb
+++ b/spec/policies/account_moderation_note_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe AccountModerationNotePolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :create? do
-    context 'staff' do
+    context 'when staff' do
       it 'grants to create' do
         expect(subject).to permit(admin, AccountModerationNotePolicy)
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies to create' do
         expect(subject).to_not permit(john, AccountModerationNotePolicy)
       end
@@ -29,19 +29,19 @@ RSpec.describe AccountModerationNotePolicy do
                 target_account: Fabricate(:account))
     end
 
-    context 'admin' do
+    context 'when admin' do
       it 'grants to destroy' do
         expect(subject).to permit(admin, account_moderation_note)
       end
     end
 
-    context 'owner' do
+    context 'when owner' do
       it 'grants to destroy' do
         expect(subject).to permit(john, account_moderation_note)
       end
     end
 
-    context 'neither admin nor owner' do
+    context 'when neither admin nor owner' do
       let(:kevin) { Fabricate(:account) }
 
       it 'denies to destroy' do
diff --git a/spec/policies/account_policy_spec.rb b/spec/policies/account_policy_spec.rb
index d96153233..9f4e94a6c 100644
--- a/spec/policies/account_policy_spec.rb
+++ b/spec/policies/account_policy_spec.rb
@@ -10,13 +10,13 @@ RSpec.describe AccountPolicy do
   let(:alice)   { Fabricate(:account) }
 
   permissions :index? do
-    context 'staff' do
+    context 'when staff' do
       it 'permits' do
         expect(subject).to permit(admin)
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies' do
         expect(subject).to_not permit(john)
       end
@@ -24,13 +24,13 @@ RSpec.describe AccountPolicy do
   end
 
   permissions :show?, :unsilence?, :unsensitive?, :remove_avatar?, :remove_header? do
-    context 'staff' do
+    context 'when staff' do
       it 'permits' do
         expect(subject).to permit(admin, alice)
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies' do
         expect(subject).to_not permit(john, alice)
       end
@@ -42,13 +42,13 @@ RSpec.describe AccountPolicy do
       alice.suspend!
     end
 
-    context 'staff' do
+    context 'when staff' do
       it 'permits' do
         expect(subject).to permit(admin, alice)
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies' do
         expect(subject).to_not permit(john, alice)
       end
@@ -56,13 +56,13 @@ RSpec.describe AccountPolicy do
   end
 
   permissions :redownload? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john)
       end
@@ -72,21 +72,21 @@ RSpec.describe AccountPolicy do
   permissions :suspend?, :silence? do
     let(:staff) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account }
 
-    context 'staff' do
-      context 'record is staff' do
+    context 'when staff' do
+      context 'when record is staff' do
         it 'denies' do
           expect(subject).to_not permit(admin, staff)
         end
       end
 
-      context 'record is not staff' do
+      context 'when record is not staff' do
         it 'permits' do
           expect(subject).to permit(admin, john)
         end
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies' do
         expect(subject).to_not permit(john, Account)
       end
@@ -96,21 +96,21 @@ RSpec.describe AccountPolicy do
   permissions :memorialize? do
     let(:other_admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account }
 
-    context 'admin' do
-      context 'record is admin' do
+    context 'when admin' do
+      context 'when record is admin' do
         it 'denies' do
           expect(subject).to_not permit(admin, other_admin)
         end
       end
 
-      context 'record is not admin' do
+      context 'when record is not admin' do
         it 'permits' do
           expect(subject).to permit(admin, john)
         end
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, Account)
       end
@@ -118,13 +118,13 @@ RSpec.describe AccountPolicy do
   end
 
   permissions :review? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john)
       end
@@ -132,7 +132,7 @@ RSpec.describe AccountPolicy do
   end
 
   permissions :destroy? do
-    context 'admin' do
+    context 'when admin' do
       context 'with a temporarily suspended account' do
         before { allow(alice).to receive(:suspended_temporarily?).and_return(true) }
 
@@ -150,7 +150,7 @@ RSpec.describe AccountPolicy do
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, alice)
       end
diff --git a/spec/policies/backup_policy_spec.rb b/spec/policies/backup_policy_spec.rb
index 6b31c6f7c..488d48f52 100644
--- a/spec/policies/backup_policy_spec.rb
+++ b/spec/policies/backup_policy_spec.rb
@@ -8,20 +8,20 @@ RSpec.describe BackupPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :create? do
-    context 'not user_signed_in?' do
+    context 'when not user_signed_in?' do
       it 'denies' do
         expect(subject).to_not permit(nil, Backup)
       end
     end
 
-    context 'user_signed_in?' do
-      context 'no backups' do
+    context 'when user_signed_in?' do
+      context 'with no backups' do
         it 'permits' do
           expect(subject).to permit(john, Backup)
         end
       end
 
-      context 'backups are too old' do
+      context 'when backups are too old' do
         it 'permits' do
           travel(-8.days) do
             Fabricate(:backup, user: john.user)
@@ -31,7 +31,7 @@ RSpec.describe BackupPolicy do
         end
       end
 
-      context 'backups are newer' do
+      context 'when backups are newer' do
         it 'denies' do
           travel(-3.days) do
             Fabricate(:backup, user: john.user)
diff --git a/spec/policies/custom_emoji_policy_spec.rb b/spec/policies/custom_emoji_policy_spec.rb
index 6a6ef6694..cf7e7d924 100644
--- a/spec/policies/custom_emoji_policy_spec.rb
+++ b/spec/policies/custom_emoji_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe CustomEmojiPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :index?, :enable?, :disable? do
-    context 'staff' do
+    context 'when staff' do
       it 'permits' do
         expect(subject).to permit(admin, CustomEmoji)
       end
     end
 
-    context 'not staff' do
+    context 'when not staff' do
       it 'denies' do
         expect(subject).to_not permit(john, CustomEmoji)
       end
@@ -23,13 +23,13 @@ RSpec.describe CustomEmojiPolicy do
   end
 
   permissions :create?, :update?, :copy?, :destroy? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin, CustomEmoji)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, CustomEmoji)
       end
diff --git a/spec/policies/domain_block_policy_spec.rb b/spec/policies/domain_block_policy_spec.rb
index 01b97e823..e254e2cf4 100644
--- a/spec/policies/domain_block_policy_spec.rb
+++ b/spec/policies/domain_block_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe DomainBlockPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :index?, :show?, :create?, :destroy? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin, DomainBlock)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, DomainBlock)
       end
diff --git a/spec/policies/email_domain_block_policy_spec.rb b/spec/policies/email_domain_block_policy_spec.rb
index e7c455907..6e57b1372 100644
--- a/spec/policies/email_domain_block_policy_spec.rb
+++ b/spec/policies/email_domain_block_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe EmailDomainBlockPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :index?, :show?, :create?, :destroy? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin, EmailDomainBlock)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, EmailDomainBlock)
       end
diff --git a/spec/policies/instance_policy_spec.rb b/spec/policies/instance_policy_spec.rb
index f6f51af06..3e047bbe9 100644
--- a/spec/policies/instance_policy_spec.rb
+++ b/spec/policies/instance_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe InstancePolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :index?, :show?, :destroy? do
-    context 'admin' do
+    context 'when admin' do
       it 'permits' do
         expect(subject).to permit(admin, Instance)
       end
     end
 
-    context 'not admin' do
+    context 'when not admin' do
       it 'denies' do
         expect(subject).to_not permit(john, Instance)
       end
diff --git a/spec/policies/invite_policy_spec.rb b/spec/policies/invite_policy_spec.rb
index 01660322f..50a312f44 100644
--- a/spec/policies/invite_policy_spec.rb
+++ b/spec/policies/invite_policy_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe InvitePolicy do
   let(:john)    { Fabricate(:user).account }
 
   permissions :index? do
-    context 'staff?' do
+    context 'when staff?' do
       it 'permits' do
         expect(subject).to permit(admin, Invite)
       end
@@ -17,7 +17,7 @@ RSpec.describe InvitePolicy do
   end
 
   permissions :create? do
-    context 'has privilege' do
+    context 'with privilege' do
       before do
         UserRole.everyone.update(permissions: UserRole::FLAGS[:invite_users])
       end
@@ -27,7 +27,7 @@ RSpec.describe InvitePolicy do
       end
     end
 
-    context 'does not have privilege' do
+    context 'when does not have privilege' do
       before do
         UserRole.everyone.update(permissions: UserRole::Flags::NONE)
       end
@@ -39,13 +39,13 @@ RSpec.describe InvitePolicy do
   end
 
   permissions :deactivate_all? do
-    context 'admin?' do
+    context 'when admin?' do
       it 'permits' do
         expect(subject).to permit(admin, Invite)
       end
     end
 
-    context 'not admin?' do
+    context 'when not admin?' do
       it 'denies' do
         expect(subject).to_not permit(john, Invite)
       end
@@ -53,20 +53,20 @@ RSpec.describe InvitePolicy do
   end
 
   permissions :destroy? do
-    context 'owner?' do
+    context 'when owner?' do
       it 'permits' do
         expect(subject).to permit(john, Fabricate(:invite, user: john.user))
       end
     end
 
-    context 'not owner?' do
-      context 'admin?' do
+    context 'when not owner?' do
+      context 'when admin?' do
         it 'permits' do
           expect(subject).to permit(admin, Fabricate(:invite))
         end
       end
 
-      context 'not admin?' do
+      context 'when not admin?' do
         it 'denies' do
           expect(subject).to_not permit(john, Fabricate(:invite))
         end
diff --git a/spec/policies/relay_policy_spec.rb b/spec/policies/relay_policy_spec.rb
index 2c50ba1e9..0d479e0ca 100644
--- a/spec/policies/relay_policy_spec.rb
+++ b/spec/policies/relay_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe RelayPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :update? do
-    context 'admin?' do
+    context 'when admin?' do
       it 'permits' do
         expect(subject).to permit(admin, Relay)
       end
     end
 
-    context '!admin?' do
+    context 'with !admin?' do
       it 'denies' do
         expect(subject).to_not permit(john, Relay)
       end
diff --git a/spec/policies/report_note_policy_spec.rb b/spec/policies/report_note_policy_spec.rb
index 99f5ffb8e..ea2a62ada 100644
--- a/spec/policies/report_note_policy_spec.rb
+++ b/spec/policies/report_note_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe ReportNotePolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :create? do
-    context 'staff?' do
+    context 'when staff?' do
       it 'permits' do
         expect(subject).to permit(admin, ReportNote)
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, ReportNote)
       end
@@ -23,22 +23,22 @@ RSpec.describe ReportNotePolicy do
   end
 
   permissions :destroy? do
-    context 'admin?' do
+    context 'when admin?' do
       it 'permit' do
         report_note = Fabricate(:report_note, account: john)
         expect(subject).to permit(admin, report_note)
       end
     end
 
-    context 'admin?' do
-      context 'owner?' do
+    context 'when admin?' do
+      context 'when owner?' do
         it 'permit' do
           report_note = Fabricate(:report_note, account: john)
           expect(subject).to permit(john, report_note)
         end
       end
 
-      context '!owner?' do
+      context 'with !owner?' do
         it 'denies' do
           report_note = Fabricate(:report_note)
           expect(subject).to_not permit(john, report_note)
diff --git a/spec/policies/report_policy_spec.rb b/spec/policies/report_policy_spec.rb
index 8b005d8dd..8f2533fa6 100644
--- a/spec/policies/report_policy_spec.rb
+++ b/spec/policies/report_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe ReportPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :update?, :index?, :show? do
-    context 'staff?' do
+    context 'when staff?' do
       it 'permits' do
         expect(subject).to permit(admin, Report)
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, Report)
       end
diff --git a/spec/policies/settings_policy_spec.rb b/spec/policies/settings_policy_spec.rb
index 3268c1622..576bfa4ab 100644
--- a/spec/policies/settings_policy_spec.rb
+++ b/spec/policies/settings_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe SettingsPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :update?, :show?, :destroy? do
-    context 'admin?' do
+    context 'when admin?' do
       it 'permits' do
         expect(subject).to permit(admin, Settings)
       end
     end
 
-    context '!admin?' do
+    context 'with !admin?' do
       it 'denies' do
         expect(subject).to_not permit(john, Settings)
       end
diff --git a/spec/policies/tag_policy_spec.rb b/spec/policies/tag_policy_spec.rb
index fb09fdd3b..7791cde15 100644
--- a/spec/policies/tag_policy_spec.rb
+++ b/spec/policies/tag_policy_spec.rb
@@ -9,13 +9,13 @@ RSpec.describe TagPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :index?, :show?, :update?, :review? do
-    context 'staff?' do
+    context 'when staff?' do
       it 'permits' do
         expect(subject).to permit(admin, Tag)
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, Tag)
       end
diff --git a/spec/policies/user_policy_spec.rb b/spec/policies/user_policy_spec.rb
index ff0916674..384119f25 100644
--- a/spec/policies/user_policy_spec.rb
+++ b/spec/policies/user_policy_spec.rb
@@ -9,21 +9,21 @@ RSpec.describe UserPolicy do
   let(:john)    { Fabricate(:account) }
 
   permissions :reset_password?, :change_email? do
-    context 'staff?' do
-      context '!record.staff?' do
+    context 'when staff?' do
+      context 'with !record.staff?' do
         it 'permits' do
           expect(subject).to permit(admin, john.user)
         end
       end
 
-      context 'record.staff?' do
+      context 'when record.staff?' do
         it 'denies' do
           expect(subject).to_not permit(admin, admin.user)
         end
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, User)
       end
@@ -31,21 +31,21 @@ RSpec.describe UserPolicy do
   end
 
   permissions :disable_2fa? do
-    context 'admin?' do
-      context '!record.staff?' do
+    context 'when admin?' do
+      context 'with !record.staff?' do
         it 'permits' do
           expect(subject).to permit(admin, john.user)
         end
       end
 
-      context 'record.staff?' do
+      context 'when record.staff?' do
         it 'denies' do
           expect(subject).to_not permit(admin, admin.user)
         end
       end
     end
 
-    context '!admin?' do
+    context 'with !admin?' do
       it 'denies' do
         expect(subject).to_not permit(john, User)
       end
@@ -53,15 +53,15 @@ RSpec.describe UserPolicy do
   end
 
   permissions :confirm? do
-    context 'staff?' do
-      context '!record.confirmed?' do
+    context 'when staff?' do
+      context 'with !record.confirmed?' do
         it 'permits' do
           john.user.update(confirmed_at: nil)
           expect(subject).to permit(admin, john.user)
         end
       end
 
-      context 'record.confirmed?' do
+      context 'when record.confirmed?' do
         it 'denies' do
           john.user.confirm!
           expect(subject).to_not permit(admin, john.user)
@@ -69,7 +69,7 @@ RSpec.describe UserPolicy do
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, User)
       end
@@ -77,13 +77,13 @@ RSpec.describe UserPolicy do
   end
 
   permissions :enable? do
-    context 'staff?' do
+    context 'when staff?' do
       it 'permits' do
         expect(subject).to permit(admin, User)
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, User)
       end
@@ -91,21 +91,21 @@ RSpec.describe UserPolicy do
   end
 
   permissions :disable? do
-    context 'staff?' do
-      context '!record.admin?' do
+    context 'when staff?' do
+      context 'with !record.admin?' do
         it 'permits' do
           expect(subject).to permit(admin, john.user)
         end
       end
 
-      context 'record.admin?' do
+      context 'when record.admin?' do
         it 'denies' do
           expect(subject).to_not permit(admin, admin.user)
         end
       end
     end
 
-    context '!staff?' do
+    context 'with !staff?' do
       it 'denies' do
         expect(subject).to_not permit(john, User)
       end
diff --git a/spec/presenters/account_relationships_presenter_spec.rb b/spec/presenters/account_relationships_presenter_spec.rb
index 8a485d2b9..d59060bd5 100644
--- a/spec/presenters/account_relationships_presenter_spec.rb
+++ b/spec/presenters/account_relationships_presenter_spec.rb
@@ -19,7 +19,7 @@ RSpec.describe AccountRelationshipsPresenter do
     let(:account_ids)        { [Fabricate(:account).id] }
     let(:default_map)        { { 1 => true } }
 
-    context 'options are not set' do
+    context 'when options are not set' do
       let(:options) { {} }
 
       it 'sets default maps' do
@@ -32,7 +32,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:following_map] is set' do
+    context 'when options[:following_map] is set' do
       let(:options) { { following_map: { 2 => true } } }
 
       it 'sets @following merged with default_map and options[:following_map]' do
@@ -40,7 +40,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:followed_by_map] is set' do
+    context 'when options[:followed_by_map] is set' do
       let(:options) { { followed_by_map: { 3 => true } } }
 
       it 'sets @followed_by merged with default_map and options[:followed_by_map]' do
@@ -48,7 +48,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:blocking_map] is set' do
+    context 'when options[:blocking_map] is set' do
       let(:options) { { blocking_map: { 4 => true } } }
 
       it 'sets @blocking merged with default_map and options[:blocking_map]' do
@@ -56,7 +56,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:muting_map] is set' do
+    context 'when options[:muting_map] is set' do
       let(:options) { { muting_map: { 5 => true } } }
 
       it 'sets @muting merged with default_map and options[:muting_map]' do
@@ -64,7 +64,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:requested_map] is set' do
+    context 'when options[:requested_map] is set' do
       let(:options) { { requested_map: { 6 => true } } }
 
       it 'sets @requested merged with default_map and options[:requested_map]' do
@@ -72,7 +72,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:requested_by_map] is set' do
+    context 'when options[:requested_by_map] is set' do
       let(:options) { { requested_by_map: { 6 => true } } }
 
       it 'sets @requested merged with default_map and options[:requested_by_map]' do
@@ -80,7 +80,7 @@ RSpec.describe AccountRelationshipsPresenter do
       end
     end
 
-    context 'options[:domain_blocking_map] is set' do
+    context 'when options[:domain_blocking_map] is set' do
       let(:options) { { domain_blocking_map: { 7 => true } } }
 
       it 'sets @domain_blocking merged with default_map and options[:domain_blocking_map]' do
diff --git a/spec/presenters/status_relationships_presenter_spec.rb b/spec/presenters/status_relationships_presenter_spec.rb
index eaab922fd..11116cabd 100644
--- a/spec/presenters/status_relationships_presenter_spec.rb
+++ b/spec/presenters/status_relationships_presenter_spec.rb
@@ -18,7 +18,7 @@ RSpec.describe StatusRelationshipsPresenter do
     let(:status_ids)         { statuses.map(&:id) + statuses.map(&:reblog_of_id).compact }
     let(:default_map)        { { 1 => true } }
 
-    context 'options are not set' do
+    context 'when options are not set' do
       let(:options) { {} }
 
       it 'sets default maps' do
@@ -30,7 +30,7 @@ RSpec.describe StatusRelationshipsPresenter do
       end
     end
 
-    context 'options[:reblogs_map] is set' do
+    context 'when options[:reblogs_map] is set' do
       let(:options) { { reblogs_map: { 2 => true } } }
 
       it 'sets @reblogs_map merged with default_map and options[:reblogs_map]' do
@@ -38,7 +38,7 @@ RSpec.describe StatusRelationshipsPresenter do
       end
     end
 
-    context 'options[:favourites_map] is set' do
+    context 'when options[:favourites_map] is set' do
       let(:options) { { favourites_map: { 3 => true } } }
 
       it 'sets @favourites_map merged with default_map and options[:favourites_map]' do
@@ -46,7 +46,7 @@ RSpec.describe StatusRelationshipsPresenter do
       end
     end
 
-    context 'options[:bookmarks_map] is set' do
+    context 'when options[:bookmarks_map] is set' do
       let(:options) { { bookmarks_map: { 4 => true } } }
 
       it 'sets @bookmarks_map merged with default_map and options[:bookmarks_map]' do
@@ -54,7 +54,7 @@ RSpec.describe StatusRelationshipsPresenter do
       end
     end
 
-    context 'options[:mutes_map] is set' do
+    context 'when options[:mutes_map] is set' do
       let(:options) { { mutes_map: { 5 => true } } }
 
       it 'sets @mutes_map merged with default_map and options[:mutes_map]' do
@@ -62,7 +62,7 @@ RSpec.describe StatusRelationshipsPresenter do
       end
     end
 
-    context 'options[:pins_map] is set' do
+    context 'when options[:pins_map] is set' do
       let(:options) { { pins_map: { 6 => true } } }
 
       it 'sets @pins_map merged with default_map and options[:pins_map]' do
diff --git a/spec/services/account_search_service_spec.rb b/spec/services/account_search_service_spec.rb
index bb819bb6c..98264e6e1 100644
--- a/spec/services/account_search_service_spec.rb
+++ b/spec/services/account_search_service_spec.rb
@@ -20,7 +20,7 @@ describe AccountSearchService, type: :service do
       end
     end
 
-    context 'searching for a simple term that is not an exact match' do
+    context 'when searching for a simple term that is not an exact match' do
       it 'does not return a nil entry in the array for the exact match' do
         account = Fabricate(:account, username: 'matchingusername')
         results = subject.call('match', nil, limit: 5)
diff --git a/spec/services/account_statuses_cleanup_service_spec.rb b/spec/services/account_statuses_cleanup_service_spec.rb
index e83063f73..f7a88a917 100644
--- a/spec/services/account_statuses_cleanup_service_spec.rb
+++ b/spec/services/account_statuses_cleanup_service_spec.rb
@@ -20,13 +20,13 @@ describe AccountStatusesCleanupService, type: :service do
       let!(:another_old_status) { Fabricate(:status, created_at: 1.year.ago, account: account) }
       let!(:recent_status)      { Fabricate(:status, created_at: 1.day.ago, account: account) }
 
-      context 'given a budget of 1' do
+      context 'when given a budget of 1' do
         it 'reports 1 deleted toot' do
           expect(subject.call(account_policy, 1)).to eq 1
         end
       end
 
-      context 'given a normal budget of 10' do
+      context 'when given a normal budget of 10' do
         it 'reports 3 deleted statuses' do
           expect(subject.call(account_policy, 10)).to eq 3
         end
diff --git a/spec/services/activitypub/fetch_remote_status_service_spec.rb b/spec/services/activitypub/fetch_remote_status_service_spec.rb
index 1c39db21f..826b67d88 100644
--- a/spec/services/activitypub/fetch_remote_status_service_spec.rb
+++ b/spec/services/activitypub/fetch_remote_status_service_spec.rb
@@ -226,12 +226,12 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
     end
   end
 
-  context 'statuses referencing other statuses' do
+  context 'with statuses referencing other statuses' do
     before do
       stub_const 'ActivityPub::FetchRemoteStatusService::DISCOVERIES_PER_REQUEST', 5
     end
 
-    context 'using inReplyTo' do
+    context 'when using inReplyTo' do
       let(:object) do
         {
           '@context': 'https://www.w3.org/ns/activitystreams',
@@ -267,7 +267,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService, type: :service do
       end
     end
 
-    context 'using replies' do
+    context 'when using replies' do
       let(:object) do
         {
           '@context': 'https://www.w3.org/ns/activitystreams',
diff --git a/spec/services/activitypub/process_account_service_spec.rb b/spec/services/activitypub/process_account_service_spec.rb
index 491b8ed5a..ffbc51b64 100644
--- a/spec/services/activitypub/process_account_service_spec.rb
+++ b/spec/services/activitypub/process_account_service_spec.rb
@@ -5,7 +5,7 @@ require 'rails_helper'
 RSpec.describe ActivityPub::ProcessAccountService, type: :service do
   subject { described_class.new }
 
-  context 'property values' do
+  context 'with property values' do
     let(:payload) do
       {
         id: 'https://foo.test',
@@ -82,7 +82,7 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
       account.suspend!(origin: suspension_origin)
     end
 
-    context 'locally' do
+    context 'when locally' do
       let(:suspension_origin) { :local }
 
       it 'does not unsuspend it' do
@@ -94,7 +94,7 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
       end
     end
 
-    context 'remotely' do
+    context 'when remotely' do
       let(:suspension_origin) { :remote }
 
       it 'unsuspends it' do
@@ -112,7 +112,7 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
     end
   end
 
-  context 'discovering many subdomains in a short timeframe' do
+  context 'when discovering many subdomains in a short timeframe' do
     before do
       stub_const 'ActivityPub::ProcessAccountService::SUBDOMAINS_RATELIMIT', 5
     end
@@ -138,7 +138,7 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
     end
   end
 
-  context 'accounts referencing other accounts' do
+  context 'when Accounts referencing other accounts' do
     before do
       stub_const 'ActivityPub::ProcessAccountService::DISCOVERIES_PER_REQUEST', 5
     end
diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb
index e9f23b9cf..9d90e5eb8 100644
--- a/spec/services/activitypub/process_status_update_service_spec.rb
+++ b/spec/services/activitypub/process_status_update_service_spec.rb
@@ -269,7 +269,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally without tags' do
+    context 'when originally without tags' do
       before do
         subject.call(status, json)
       end
@@ -279,7 +279,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally with tags' do
+    context 'when originally with tags' do
       let(:tags) { [Fabricate(:tag, name: 'test'), Fabricate(:tag, name: 'foo')] }
 
       let(:payload) do
@@ -305,7 +305,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally without mentions' do
+    context 'when originally without mentions' do
       before do
         subject.call(status, json)
       end
@@ -315,7 +315,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally with mentions' do
+    context 'when originally with mentions' do
       let(:mentions) { [alice, bob] }
 
       before do
@@ -327,7 +327,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally without media attachments' do
+    context 'when originally without media attachments' do
       before do
         stub_request(:get, 'https://example.com/foo.png').to_return(body: attachment_fixture('emojo.png'))
         subject.call(status, json)
@@ -362,7 +362,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally with media attachments' do
+    context 'when originally with media attachments' do
       let(:media_attachments) { [Fabricate(:media_attachment, remote_url: 'https://example.com/foo.png'), Fabricate(:media_attachment, remote_url: 'https://example.com/unused.png')] }
 
       let(:payload) do
@@ -404,7 +404,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally with a poll' do
+    context 'when originally with a poll' do
       before do
         poll = Fabricate(:poll, status: status)
         status.update(preloadable_poll: poll)
@@ -420,7 +420,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
       end
     end
 
-    context 'originally without a poll' do
+    context 'when originally without a poll' do
       let(:payload) do
         {
           '@context': 'https://www.w3.org/ns/activitystreams',
diff --git a/spec/services/fetch_link_card_service_spec.rb b/spec/services/fetch_link_card_service_spec.rb
index d79ab7a43..7016ecd3f 100644
--- a/spec/services/fetch_link_card_service_spec.rb
+++ b/spec/services/fetch_link_card_service_spec.rb
@@ -18,7 +18,7 @@ RSpec.describe FetchLinkCardService, type: :service do
     subject.call(status)
   end
 
-  context 'in a local status' do
+  context 'with a local status' do
     context do
       let(:status) { Fabricate(:status, text: 'Check out http://example.中国') }
 
@@ -89,7 +89,7 @@ RSpec.describe FetchLinkCardService, type: :service do
     end
   end
 
-  context 'in a remote status' do
+  context 'with a remote status' do
     let(:status) { Fabricate(:status, account: Fabricate(:account, domain: 'example.com'), text: 'Habt ihr ein paar gute Links zu <a>foo</a> #<span class="tag"><a href="https://quitter.se/tag/wannacry" target="_blank" rel="tag noopener noreferrer" title="https://quitter.se/tag/wannacry">Wannacry</a></span> herumfliegen?   Ich will mal unter <br> <a href="https://github.com/qbi/WannaCry" target="_blank" rel="noopener noreferrer" title="https://github.com/qbi/WannaCry">https://github.com/qbi/WannaCry</a> was sammeln. !<a href="http://sn.jonkman.ca/group/416/id" target="_blank" rel="noopener noreferrer" title="http://sn.jonkman.ca/group/416/id">security</a>&nbsp;') }
 
     it 'parses out URLs' do
diff --git a/spec/services/fetch_oembed_service_spec.rb b/spec/services/fetch_oembed_service_spec.rb
index 8a0b49222..777cbae3f 100644
--- a/spec/services/fetch_oembed_service_spec.rb
+++ b/spec/services/fetch_oembed_service_spec.rb
@@ -39,7 +39,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'Both of JSON and XML provider are discoverable' do
+      context 'when both of JSON and XML provider are discoverable' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
@@ -66,7 +66,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'JSON provider is discoverable while XML provider is not' do
+      context 'when JSON provider is discoverable while XML provider is not' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
@@ -87,7 +87,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'XML provider is discoverable while JSON provider is not' do
+      context 'when XML provider is discoverable while JSON provider is not' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
@@ -108,7 +108,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'Invalid XML provider is discoverable while JSON provider is not' do
+      context 'with Invalid XML provider is discoverable while JSON provider is not' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
@@ -122,7 +122,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'Neither of JSON and XML provider is discoverable' do
+      context 'with neither of JSON and XML provider is discoverable' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
@@ -136,7 +136,7 @@ describe FetchOEmbedService, type: :service do
         end
       end
 
-      context 'Empty JSON provider is discoverable' do
+      context 'when empty JSON provider is discoverable' do
         before do
           stub_request(:get, 'https://host.test/oembed.html').to_return(
             status: 200,
diff --git a/spec/services/fetch_remote_status_service_spec.rb b/spec/services/fetch_remote_status_service_spec.rb
index 694a75dc2..798740c9b 100644
--- a/spec/services/fetch_remote_status_service_spec.rb
+++ b/spec/services/fetch_remote_status_service_spec.rb
@@ -16,7 +16,7 @@ RSpec.describe FetchRemoteStatusService, type: :service do
     }
   end
 
-  context 'protocol is :activitypub' do
+  context 'when protocol is :activitypub' do
     subject { described_class.new.call(note[:id], prefetched_body: prefetched_body) }
 
     let(:prefetched_body) { Oj.dump(note) }
diff --git a/spec/services/follow_service_spec.rb b/spec/services/follow_service_spec.rb
index 67a8b2c54..c9521e3c8 100644
--- a/spec/services/follow_service_spec.rb
+++ b/spec/services/follow_service_spec.rb
@@ -7,7 +7,7 @@ RSpec.describe FollowService, type: :service do
 
   let(:sender) { Fabricate(:account, username: 'alice') }
 
-  context 'local account' do
+  context 'when local account' do
     describe 'locked account' do
       let(:bob) { Fabricate(:account, locked: true, username: 'bob') }
 
@@ -138,7 +138,7 @@ RSpec.describe FollowService, type: :service do
     end
   end
 
-  context 'remote ActivityPub account' do
+  context 'when remote ActivityPub account' do
     let(:bob) { Fabricate(:account, username: 'bob', domain: 'example.com', protocol: :activitypub, inbox_url: 'http://example.com/inbox') }
 
     before do
diff --git a/spec/services/import_service_spec.rb b/spec/services/import_service_spec.rb
index f081f2d9d..7f8e5855f 100644
--- a/spec/services/import_service_spec.rb
+++ b/spec/services/import_service_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe ImportService, type: :service do
     stub_request(:post, 'https://example.com/inbox').to_return(status: 200)
   end
 
-  context 'import old-style list of muted users' do
+  context 'when importing old-style list of muted users' do
     subject { ImportService.new }
 
     let(:csv) { attachment_fixture('mute-imports.txt') }
@@ -51,7 +51,7 @@ RSpec.describe ImportService, type: :service do
     end
   end
 
-  context 'import new-style list of muted users' do
+  context 'when importing new-style list of muted users' do
     subject { ImportService.new }
 
     let(:csv) { attachment_fixture('new-mute-imports.txt') }
@@ -92,7 +92,7 @@ RSpec.describe ImportService, type: :service do
     end
   end
 
-  context 'import old-style list of followed users' do
+  context 'when importing old-style list of followed users' do
     subject { ImportService.new }
 
     let(:csv) { attachment_fixture('mute-imports.txt') }
@@ -134,7 +134,7 @@ RSpec.describe ImportService, type: :service do
     end
   end
 
-  context 'import new-style list of followed users' do
+  context 'when importing new-style list of followed users' do
     subject { ImportService.new }
 
     let(:csv) { attachment_fixture('new-following-imports.txt') }
@@ -181,7 +181,7 @@ RSpec.describe ImportService, type: :service do
   # Based on the bug report 20571 where UTF-8 encoded domains were rejecting import of their users
   #
   # https://github.com/mastodon/mastodon/issues/20571
-  context 'utf-8 encoded domains' do
+  context 'with a utf-8 encoded domains' do
     subject { ImportService.new }
 
     let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') }
@@ -200,7 +200,7 @@ RSpec.describe ImportService, type: :service do
     end
   end
 
-  context 'import bookmarks' do
+  context 'when importing bookmarks' do
     subject { ImportService.new }
 
     let(:csv) { attachment_fixture('bookmark-imports.txt') }
diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb
index 616a7aa20..8c99431fa 100644
--- a/spec/services/notify_service_spec.rb
+++ b/spec/services/notify_service_spec.rb
@@ -49,7 +49,7 @@ RSpec.describe NotifyService, type: :service do
     expect { subject }.to_not change(Notification, :count)
   end
 
-  context 'for direct messages' do
+  context 'with direct messages' do
     let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct)) }
     let(:type)     { :mention }
 
@@ -58,14 +58,14 @@ RSpec.describe NotifyService, type: :service do
       user.save
     end
 
-    context 'if recipient is supposed to be following sender' do
+    context 'when recipient is supposed to be following sender' do
       let(:enabled) { true }
 
       it 'does not notify' do
         expect { subject }.to_not change(Notification, :count)
       end
 
-      context 'if the message chain is initiated by recipient, but is not direct message' do
+      context 'when the message chain is initiated by recipient, but is not direct message' do
         let(:reply_to) { Fabricate(:status, account: recipient) }
         let!(:mention) { Fabricate(:mention, account: sender, status: reply_to) }
         let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
@@ -75,7 +75,7 @@ RSpec.describe NotifyService, type: :service do
         end
       end
 
-      context 'if the message chain is initiated by recipient, but without a mention to the sender, even if the sender sends multiple messages in a row' do
+      context 'when the message chain is initiated by recipient, but without a mention to the sender, even if the sender sends multiple messages in a row' do
         let(:reply_to) { Fabricate(:status, account: recipient) }
         let!(:mention) { Fabricate(:mention, account: sender, status: reply_to) }
         let(:dummy_reply) { Fabricate(:status, account: sender, visibility: :direct, thread: reply_to) }
@@ -86,7 +86,7 @@ RSpec.describe NotifyService, type: :service do
         end
       end
 
-      context 'if the message chain is initiated by the recipient with a mention to the sender' do
+      context 'when the message chain is initiated by the recipient with a mention to the sender' do
         let(:reply_to) { Fabricate(:status, account: recipient, visibility: :direct) }
         let!(:mention) { Fabricate(:mention, account: sender, status: reply_to) }
         let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
@@ -97,7 +97,7 @@ RSpec.describe NotifyService, type: :service do
       end
     end
 
-    context 'if recipient is NOT supposed to be following sender' do
+    context 'when recipient is NOT supposed to be following sender' do
       let(:enabled) { false }
 
       it 'does notify' do
diff --git a/spec/services/process_mentions_service_spec.rb b/spec/services/process_mentions_service_spec.rb
index adc45c60a..399800b2a 100644
--- a/spec/services/process_mentions_service_spec.rb
+++ b/spec/services/process_mentions_service_spec.rb
@@ -33,10 +33,10 @@ RSpec.describe ProcessMentionsService, type: :service do
     end
   end
 
-  context 'resolving a mention to a remote account' do
+  context 'with resolving a mention to a remote account' do
     let(:status) { Fabricate(:status, account: account, text: "Hello @#{remote_user.acct}", visibility: :public) }
 
-    context 'ActivityPub' do
+    context 'with ActivityPub' do
       context do
         let!(:remote_user) { Fabricate(:account, username: 'remote_user', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
 
@@ -49,7 +49,7 @@ RSpec.describe ProcessMentionsService, type: :service do
         end
       end
 
-      context 'mentioning a user several times when not saving records' do
+      context 'when mentioning a user several times when not saving records' do
         let!(:remote_user) { Fabricate(:account, username: 'remote_user', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
         let(:status)       { Fabricate(:status, account: account, text: "Hello @#{remote_user.acct} @#{remote_user.acct} @#{remote_user.acct}", visibility: :public) }
 
@@ -89,7 +89,7 @@ RSpec.describe ProcessMentionsService, type: :service do
       end
     end
 
-    context 'Temporarily-unreachable ActivityPub user' do
+    context 'with a Temporarily-unreachable ActivityPub user' do
       let!(:remote_user) { Fabricate(:account, username: 'remote_user', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox', last_webfingered_at: nil) }
 
       before do
diff --git a/spec/services/reblog_service_spec.rb b/spec/services/reblog_service_spec.rb
index 2ad6d30f6..69500848d 100644
--- a/spec/services/reblog_service_spec.rb
+++ b/spec/services/reblog_service_spec.rb
@@ -5,7 +5,7 @@ require 'rails_helper'
 RSpec.describe ReblogService, type: :service do
   let(:alice)  { Fabricate(:account, username: 'alice') }
 
-  context 'creates a reblog with appropriate visibility' do
+  context 'when creates a reblog with appropriate visibility' do
     subject { ReblogService.new }
 
     let(:visibility)        { :public }
@@ -61,7 +61,7 @@ RSpec.describe ReblogService, type: :service do
     end
   end
 
-  context 'ActivityPub' do
+  context 'with ActivityPub' do
     subject { ReblogService.new }
 
     let(:bob)    { Fabricate(:account, username: 'bob', protocol: :activitypub, domain: 'example.com', inbox_url: 'http://example.com/inbox') }
diff --git a/spec/services/report_service_spec.rb b/spec/services/report_service_spec.rb
index 452400f72..29207462a 100644
--- a/spec/services/report_service_spec.rb
+++ b/spec/services/report_service_spec.rb
@@ -7,7 +7,7 @@ RSpec.describe ReportService, type: :service do
 
   let(:source_account) { Fabricate(:account) }
 
-  context 'for a remote account' do
+  context 'with a remote account' do
     let(:remote_account) { Fabricate(:account, domain: 'example.com', protocol: :activitypub, inbox_url: 'http://example.com/inbox') }
 
     before do
diff --git a/spec/services/resolve_account_service_spec.rb b/spec/services/resolve_account_service_spec.rb
index a1c7ebe18..ed22a8147 100644
--- a/spec/services/resolve_account_service_spec.rb
+++ b/spec/services/resolve_account_service_spec.rb
@@ -15,7 +15,7 @@ RSpec.describe ResolveAccountService, type: :service do
     stub_request(:get, 'https://example.com/.well-known/webfinger?resource=acct:hoge@example.com').to_return(status: 410)
   end
 
-  context 'using skip_webfinger' do
+  context 'when using skip_webfinger' do
     context 'when account is known' do
       let!(:remote_account) { Fabricate(:account, username: 'foo', domain: 'ap.example.com', protocol: 'activitypub') }
 
@@ -78,7 +78,7 @@ RSpec.describe ResolveAccountService, type: :service do
   end
 
   context 'when webfinger returns http gone' do
-    context 'for a previously known account' do
+    context 'with a previously known account' do
       before do
         Fabricate(:account, username: 'hoge', domain: 'example.com', last_webfingered_at: nil)
         allow(AccountDeletionWorker).to receive(:perform_async)
@@ -94,7 +94,7 @@ RSpec.describe ResolveAccountService, type: :service do
       end
     end
 
-    context 'for a previously unknown account' do
+    context 'with a previously unknown account' do
       it 'returns nil' do
         expect(subject.call('hoge@example.com')).to be_nil
       end
diff --git a/spec/services/resolve_url_service_spec.rb b/spec/services/resolve_url_service_spec.rb
index 3598311ee..8d2af7417 100644
--- a/spec/services/resolve_url_service_spec.rb
+++ b/spec/services/resolve_url_service_spec.rb
@@ -30,7 +30,7 @@ describe ResolveURLService, type: :service do
       expect(subject.call(url)).to eq known_account
     end
 
-    context 'searching for a remote private status' do
+    context 'when searching for a remote private status' do
       let(:account)  { Fabricate(:account) }
       let(:poster)   { Fabricate(:account, domain: 'example.com') }
       let(:url)      { 'https://example.com/@foo/42' }
@@ -95,7 +95,7 @@ describe ResolveURLService, type: :service do
       end
     end
 
-    context 'searching for a local private status' do
+    context 'when searching for a local private status' do
       let(:account) { Fabricate(:account) }
       let(:poster)  { Fabricate(:account) }
       let!(:status) { Fabricate(:status, account: poster, visibility: :private) }
@@ -127,7 +127,7 @@ describe ResolveURLService, type: :service do
       end
     end
 
-    context 'searching for a link that redirects to a local public status' do
+    context 'when searching for a link that redirects to a local public status' do
       let(:account) { Fabricate(:account) }
       let(:poster)  { Fabricate(:account) }
       let!(:status) { Fabricate(:status, account: poster, visibility: :public) }
diff --git a/spec/services/search_service_spec.rb b/spec/services/search_service_spec.rb
index 1ad0efe0a..00f693dfa 100644
--- a/spec/services/search_service_spec.rb
+++ b/spec/services/search_service_spec.rb
@@ -23,7 +23,7 @@ describe SearchService, type: :service do
         @query = 'http://test.host/query'
       end
 
-      context 'that does not find anything' do
+      context 'when it does not find anything' do
         it 'returns the empty results' do
           service = double(call: nil)
           allow(ResolveURLService).to receive(:new).and_return(service)
@@ -34,7 +34,7 @@ describe SearchService, type: :service do
         end
       end
 
-      context 'that finds an account' do
+      context 'when it finds an account' do
         it 'includes the account in the results' do
           account = Account.new
           service = double(call: account)
@@ -46,7 +46,7 @@ describe SearchService, type: :service do
         end
       end
 
-      context 'that finds a status' do
+      context 'when it finds a status' do
         it 'includes the status in the results' do
           status = Status.new
           service = double(call: status)
@@ -60,7 +60,7 @@ describe SearchService, type: :service do
     end
 
     describe 'with a non-url query' do
-      context 'that matches an account' do
+      context 'when it matches an account' do
         it 'includes the account in the results' do
           query = 'username'
           account = Account.new
@@ -73,7 +73,7 @@ describe SearchService, type: :service do
         end
       end
 
-      context 'that matches a tag' do
+      context 'when it matches a tag' do
         it 'includes the tag in the results' do
           query = '#tag'
           tag = Tag.new
diff --git a/spec/services/unallow_domain_service_spec.rb b/spec/services/unallow_domain_service_spec.rb
index 48e310a9d..fbc1d5959 100644
--- a/spec/services/unallow_domain_service_spec.rb
+++ b/spec/services/unallow_domain_service_spec.rb
@@ -12,7 +12,7 @@ RSpec.describe UnallowDomainService, type: :service do
   let!(:already_banned_account) { Fabricate(:account, username: 'badguy', domain: 'evil.org', suspended: true, silenced: true) }
   let!(:domain_allow) { Fabricate(:domain_allow, domain: 'evil.org') }
 
-  context 'in limited federation mode' do
+  context 'with limited federation mode' do
     before do
       allow(subject).to receive(:whitelist_mode?).and_return(true)
     end
diff --git a/spec/services/verify_link_service_spec.rb b/spec/services/verify_link_service_spec.rb
index ea9ccc3fc..415788cb5 100644
--- a/spec/services/verify_link_service_spec.rb
+++ b/spec/services/verify_link_service_spec.rb
@@ -5,7 +5,7 @@ require 'rails_helper'
 RSpec.describe VerifyLinkService, type: :service do
   subject { described_class.new }
 
-  context 'given a local account' do
+  context 'when given a local account' do
     let(:account) { Fabricate(:account, username: 'alice') }
     let(:field)   { Account::Field.new(account, 'name' => 'Website', 'value' => 'http://example.com') }
 
@@ -129,7 +129,7 @@ RSpec.describe VerifyLinkService, type: :service do
     end
   end
 
-  context 'given a remote account' do
+  context 'when given a remote account' do
     let(:account) { Fabricate(:account, username: 'alice', domain: 'example.com', url: 'https://profile.example.com/alice') }
     let(:field)   { Account::Field.new(account, 'name' => 'Website', 'value' => '<a href="http://example.com" rel="me"><span class="invisible">http://</span><span class="">example.com</span><span class="invisible"></span></a>') }
 
diff --git a/spec/validators/disallowed_hashtags_validator_spec.rb b/spec/validators/disallowed_hashtags_validator_spec.rb
index 896fd4fc5..e98db3879 100644
--- a/spec/validators/disallowed_hashtags_validator_spec.rb
+++ b/spec/validators/disallowed_hashtags_validator_spec.rb
@@ -14,7 +14,7 @@ RSpec.describe DisallowedHashtagsValidator, type: :validator do
     let(:status) { double(errors: errors, local?: local, reblog?: reblog, text: disallowed_tags.map { |x| "##{x}" }.join(' ')) }
     let(:errors) { double(add: nil) }
 
-    context 'for a remote reblog' do
+    context 'with a remote reblog' do
       let(:local)  { false }
       let(:reblog) { true }
 
@@ -23,7 +23,7 @@ RSpec.describe DisallowedHashtagsValidator, type: :validator do
       end
     end
 
-    context 'for a local original status' do
+    context 'with a local original status' do
       let(:local)  { true }
       let(:reblog) { false }
 
diff --git a/spec/validators/email_mx_validator_spec.rb b/spec/validators/email_mx_validator_spec.rb
index a11b8e01e..d9703d81b 100644
--- a/spec/validators/email_mx_validator_spec.rb
+++ b/spec/validators/email_mx_validator_spec.rb
@@ -6,7 +6,7 @@ describe EmailMxValidator do
   describe '#validate' do
     let(:user) { double(email: 'foo@example.com', sign_up_ip: '1.2.3.4', errors: double(add: nil)) }
 
-    context 'for an e-mail domain that is explicitly allowed' do
+    context 'with an e-mail domain that is explicitly allowed' do
       around do |block|
         tmp = Rails.configuration.x.email_domains_whitelist
         Rails.configuration.x.email_domains_whitelist = 'example.com'
diff --git a/spec/validators/follow_limit_validator_spec.rb b/spec/validators/follow_limit_validator_spec.rb
index 94ba0c47f..7b9055a27 100644
--- a/spec/validators/follow_limit_validator_spec.rb
+++ b/spec/validators/follow_limit_validator_spec.rb
@@ -18,7 +18,7 @@ RSpec.describe FollowLimitValidator, type: :validator do
     let(:_nil)    { true }
     let(:local)   { false }
 
-    context 'follow.account.nil? || !follow.account.local?' do
+    context 'with follow.account.nil? || !follow.account.local?' do
       let(:_nil)    { true }
 
       it 'not calls errors.add' do
@@ -26,11 +26,11 @@ RSpec.describe FollowLimitValidator, type: :validator do
       end
     end
 
-    context '!(follow.account.nil? || !follow.account.local?)' do
+    context 'with !(follow.account.nil? || !follow.account.local?)' do
       let(:_nil)    { false }
       let(:local)   { true }
 
-      context 'limit_reached?' do
+      context 'when limit_reached?' do
         let(:limit_reached) { true }
 
         it 'calls errors.add' do
@@ -39,7 +39,7 @@ RSpec.describe FollowLimitValidator, type: :validator do
         end
       end
 
-      context '!limit_reached?' do
+      context 'with !limit_reached?' do
         let(:limit_reached) { false }
 
         it 'not calls errors.add' do
diff --git a/spec/validators/poll_validator_spec.rb b/spec/validators/poll_validator_spec.rb
index f3f4b1288..069a47161 100644
--- a/spec/validators/poll_validator_spec.rb
+++ b/spec/validators/poll_validator_spec.rb
@@ -18,7 +18,7 @@ RSpec.describe PollValidator, type: :validator do
       expect(errors).to_not have_received(:add)
     end
 
-    context 'expires just 5 min ago' do
+    context 'when expires is just 5 min ago' do
       let(:expires_at) { 5.minutes.from_now }
 
       it 'not calls errors add' do
diff --git a/spec/validators/status_pin_validator_spec.rb b/spec/validators/status_pin_validator_spec.rb
index d5bd0d1b8..00b89d702 100644
--- a/spec/validators/status_pin_validator_spec.rb
+++ b/spec/validators/status_pin_validator_spec.rb
@@ -20,7 +20,7 @@ RSpec.describe StatusPinValidator, type: :validator do
     let(:reblog)      { false }
     let(:count)       { 0 }
 
-    context 'pin.status.reblog?' do
+    context 'when pin.status.reblog?' do
       let(:reblog) { true }
 
       it 'calls errors.add' do
@@ -28,7 +28,7 @@ RSpec.describe StatusPinValidator, type: :validator do
       end
     end
 
-    context 'pin.account_id != pin.status.account_id' do
+    context 'when pin.account_id != pin.status.account_id' do
       let(:pin_account_id)    { 1 }
       let(:status_account_id) { 2 }
 
@@ -37,7 +37,7 @@ RSpec.describe StatusPinValidator, type: :validator do
       end
     end
 
-    context 'if pin.status.direct_visibility?' do
+    context 'when pin.status.direct_visibility?' do
       let(:visibility) { 'direct' }
 
       it 'calls errors.add' do
@@ -45,7 +45,7 @@ RSpec.describe StatusPinValidator, type: :validator do
       end
     end
 
-    context 'pin.account.status_pins.count > 4 && pin.account.local?' do
+    context 'when pin.account.status_pins.count > 4 && pin.account.local?' do
       let(:count) { 5 }
       let(:local) { true }
 
diff --git a/spec/validators/unreserved_username_validator_spec.rb b/spec/validators/unreserved_username_validator_spec.rb
index 3c6f71c59..85bd7dcb6 100644
--- a/spec/validators/unreserved_username_validator_spec.rb
+++ b/spec/validators/unreserved_username_validator_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
     let(:account)   { double(username: username, errors: errors) }
     let(:errors) { double(add: nil) }
 
-    context '@username.blank?' do
+    context 'when @username is blank?' do
       let(:username) { nil }
 
       it 'not calls errors.add' do
@@ -21,10 +21,10 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
       end
     end
 
-    context '!@username.blank?' do
+    context 'when @username is not blank?' do
       let(:username) { 'f' }
 
-      context 'reserved_username?' do
+      context 'with reserved_username?' do
         let(:reserved_username) { true }
 
         it 'calls errors.add' do
@@ -32,7 +32,7 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
         end
       end
 
-      context '!reserved_username?' do
+      context 'when username is not reserved' do
         let(:reserved_username) { false }
 
         it 'not calls errors.add' do
diff --git a/spec/validators/url_validator_spec.rb b/spec/validators/url_validator_spec.rb
index 966261b50..a56ccd8e0 100644
--- a/spec/validators/url_validator_spec.rb
+++ b/spec/validators/url_validator_spec.rb
@@ -15,7 +15,7 @@ RSpec.describe URLValidator, type: :validator do
     let(:value)     { '' }
     let(:attribute) { :foo }
 
-    context 'unless compliant?' do
+    context 'when not compliant?' do
       let(:compliant) { false }
 
       it 'calls errors.add' do
@@ -23,7 +23,7 @@ RSpec.describe URLValidator, type: :validator do
       end
     end
 
-    context 'if compliant?' do
+    context 'when compliant?' do
       let(:compliant) { true }
 
       it 'not calls errors.add' do
diff --git a/spec/workers/move_worker_spec.rb b/spec/workers/move_worker_spec.rb
index 81ff7f1dc..ac7bd506b 100644
--- a/spec/workers/move_worker_spec.rb
+++ b/spec/workers/move_worker_spec.rb
@@ -120,7 +120,7 @@ describe MoveWorker do
       include_examples 'followers count handling'
       include_examples 'lists handling'
 
-      context 'and the local user already has the target in a list' do
+      context 'when the local user already has the target in a list' do
         before do
           list.accounts << target_account
         end
@@ -139,7 +139,7 @@ describe MoveWorker do
       include_examples 'followers count handling'
       include_examples 'lists handling'
 
-      context 'and the local user already has the target in a list' do
+      context 'when the local user already has the target in a list' do
         before do
           list.accounts << target_account
         end
diff --git a/spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb b/spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb
index ee6e2bc4f..f0f1468fb 100644
--- a/spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb
+++ b/spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb
@@ -76,7 +76,7 @@ describe Scheduler::AccountsStatusesCleanupScheduler do
   end
 
   describe '#compute_budget' do
-    context 'on a single thread' do
+    context 'with a single thread' do
       let(:process_set_stub) { [{ 'concurrency' => 1, 'queues' => %w(push default) }] }
 
       it 'returns a low value' do
@@ -84,7 +84,7 @@ describe Scheduler::AccountsStatusesCleanupScheduler do
       end
     end
 
-    context 'on a lot of threads' do
+    context 'with a lot of threads' do
       let(:process_set_stub) do
         [
           { 'concurrency' => 2, 'queues' => %w(push default) },