M .rubocop_todo.yml => .rubocop_todo.yml +0 -109
@@ 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
M spec/config/initializers/rack_attack_spec.rb => spec/config/initializers/rack_attack_spec.rb +8 -8
@@ 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'
M spec/controllers/accounts_controller_spec.rb => spec/controllers/accounts_controller_spec.rb +5 -5
@@ 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'
M spec/controllers/activitypub/collections_controller_spec.rb => spec/controllers/activitypub/collections_controller_spec.rb +1 -1
@@ 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
M spec/controllers/activitypub/inboxes_controller_spec.rb => spec/controllers/activitypub/inboxes_controller_spec.rb +1 -1
@@ 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) }
M spec/controllers/admin/domain_blocks_controller_spec.rb => spec/controllers/admin/domain_blocks_controller_spec.rb +2 -2
@@ 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' }
M spec/controllers/admin/reports/actions_controller_spec.rb => spec/controllers/admin/reports/actions_controller_spec.rb +2 -2
@@ 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'
M spec/controllers/admin/statuses_controller_spec.rb => spec/controllers/admin/statuses_controller_spec.rb +1 -1
@@ 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
M spec/controllers/api/v1/accounts/relationships_controller_spec.rb => spec/controllers/api/v1/accounts/relationships_controller_spec.rb +2 -2
@@ 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
M spec/controllers/api/v1/accounts_controller_spec.rb => spec/controllers/api/v1/accounts_controller_spec.rb +3 -3
@@ 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
M spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb => spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb +2 -2
@@ 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' }
M spec/controllers/api/v1/emails/confirmations_controller_spec.rb => spec/controllers/api/v1/emails/confirmations_controller_spec.rb +3 -3
@@ 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
M spec/controllers/api/v1/instances/activity_controller_spec.rb => spec/controllers/api/v1/instances/activity_controller_spec.rb +1 -1
@@ 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
M spec/controllers/api/v1/instances/peers_controller_spec.rb => spec/controllers/api/v1/instances/peers_controller_spec.rb +1 -1
@@ 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
M spec/controllers/api/v1/media_controller_spec.rb => spec/controllers/api/v1/media_controller_spec.rb +3 -3
@@ 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
M spec/controllers/api/v2/filters_controller_spec.rb => spec/controllers/api/v2/filters_controller_spec.rb +2 -2
@@ 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' }] }
M spec/controllers/application_controller_spec.rb => spec/controllers/application_controller_spec.rb +5 -5
@@ 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
M spec/controllers/auth/registrations_controller_spec.rb => spec/controllers/auth/registrations_controller_spec.rb +3 -3
@@ 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'
M spec/controllers/auth/sessions_controller_spec.rb => spec/controllers/auth/sessions_controller_spec.rb +23 -23
@@ 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
M spec/controllers/concerns/cache_concern_spec.rb => spec/controllers/concerns/cache_concern_spec.rb +2 -2
@@ 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'
M spec/controllers/concerns/challengable_concern_spec.rb => spec/controllers/concerns/challengable_concern_spec.rb +6 -6
@@ 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
M spec/controllers/concerns/localized_spec.rb => spec/controllers/concerns/localized_spec.rb +3 -3
@@ 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
M => +2 -2
@@ 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
M spec/controllers/instance_actors_controller_spec.rb => spec/controllers/instance_actors_controller_spec.rb +1 -1
@@ 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
M spec/controllers/settings/applications_controller_spec.rb => spec/controllers/settings/applications_controller_spec.rb +5 -5
@@ 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,
M spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb => spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb +1 -1
@@ 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
M spec/controllers/statuses_controller_spec.rb => spec/controllers/statuses_controller_spec.rb +26 -26
@@ 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
M spec/helpers/admin/account_moderation_notes_helper_spec.rb => spec/helpers/admin/account_moderation_notes_helper_spec.rb +2 -2
@@ 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
M spec/helpers/jsonld_helper_spec.rb => spec/helpers/jsonld_helper_spec.rb +5 -5
@@ 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' => [
M spec/helpers/routing_helper_spec.rb => spec/helpers/routing_helper_spec.rb +2 -2
@@ 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
M spec/lib/activitypub/activity/accept_spec.rb => spec/lib/activitypub/activity/accept_spec.rb +1 -1
@@ 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') }
M spec/lib/activitypub/activity/announce_spec.rb => spec/lib/activitypub/activity/announce_spec.rb +6 -6
@@ 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
M spec/lib/activitypub/activity/create_spec.rb => spec/lib/activitypub/activity/create_spec.rb +15 -15
@@ 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
M spec/lib/activitypub/activity/follow_spec.rb => spec/lib/activitypub/activity/follow_spec.rb +10 -10
@@ 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
M spec/lib/activitypub/activity/reject_spec.rb => spec/lib/activitypub/activity/reject_spec.rb +7 -7
@@ 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') }
M spec/lib/emoji_formatter_spec.rb => spec/lib/emoji_formatter_spec.rb +5 -5
@@ 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
M spec/lib/entity_cache_spec.rb => spec/lib/entity_cache_spec.rb +1 -1
@@ 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' }
M spec/lib/feed_manager_spec.rb => spec/lib/feed_manager_spec.rb +3 -3
@@ 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)
M spec/lib/html_aware_formatter_spec.rb => spec/lib/html_aware_formatter_spec.rb +3 -3
@@ 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
M => +2 -2
@@ 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>
M spec/lib/ostatus/tag_manager_spec.rb => spec/lib/ostatus/tag_manager_spec.rb +3 -3
@@ 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
M spec/lib/scope_transformer_spec.rb => spec/lib/scope_transformer_spec.rb +11 -11
@@ 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'
M spec/lib/status_cache_hydrator_spec.rb => spec/lib/status_cache_hydrator_spec.rb +7 -7
@@ 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
M spec/lib/status_reach_finder_spec.rb => spec/lib/status_reach_finder_spec.rb +1 -1
@@ 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 }
M spec/lib/text_formatter_spec.rb => spec/lib/text_formatter_spec.rb +33 -33
@@ 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
M spec/models/account/field_spec.rb => spec/models/account/field_spec.rb +15 -15
@@ 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
M spec/models/account_spec.rb => spec/models/account_spec.rb +5 -5
@@ 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
M spec/models/admin/account_action_spec.rb => spec/models/admin/account_action_spec.rb +9 -9
@@ 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
M spec/models/concerns/account_interactions_spec.rb => spec/models/concerns/account_interactions_spec.rb +55 -55
@@ 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
M spec/models/concerns/remotable_spec.rb => spec/models/concerns/remotable_spec.rb +1 -1
@@ 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 } }
M spec/models/custom_emoji_filter_spec.rb => spec/models/custom_emoji_filter_spec.rb +7 -7
@@ 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
M spec/models/custom_emoji_spec.rb => spec/models/custom_emoji_spec.rb +4 -4
@@ 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
M spec/models/email_domain_block_spec.rb => spec/models/email_domain_block_spec.rb +2 -2
@@ 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
M spec/models/media_attachment_spec.rb => spec/models/media_attachment_spec.rb +7 -7
@@ 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
M spec/models/notification_spec.rb => spec/models/notification_spec.rb +5 -5
@@ 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
M spec/models/remote_follow_spec.rb => spec/models/remote_follow_spec.rb +4 -4
@@ 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
M spec/models/report_spec.rb => spec/models/report_spec.rb +2 -2
@@ 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 }
M spec/models/session_activation_spec.rb => spec/models/session_activation_spec.rb +6 -6
@@ 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
M spec/models/setting_spec.rb => spec/models/setting_spec.rb +14 -14
@@ 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
M spec/models/status_spec.rb => spec/models/status_spec.rb +8 -8
@@ 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
M spec/models/web/push_subscription_spec.rb => spec/models/web/push_subscription_spec.rb +4 -4
@@ 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
M spec/policies/account_moderation_note_policy_spec.rb => spec/policies/account_moderation_note_policy_spec.rb +5 -5
@@ 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
M spec/policies/account_policy_spec.rb => spec/policies/account_policy_spec.rb +20 -20
@@ 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
M spec/policies/backup_policy_spec.rb => spec/policies/backup_policy_spec.rb +5 -5
@@ 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)
M spec/policies/custom_emoji_policy_spec.rb => spec/policies/custom_emoji_policy_spec.rb +4 -4
@@ 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
M spec/policies/domain_block_policy_spec.rb => spec/policies/domain_block_policy_spec.rb +2 -2
@@ 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
M spec/policies/email_domain_block_policy_spec.rb => spec/policies/email_domain_block_policy_spec.rb +2 -2
@@ 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
M spec/policies/instance_policy_spec.rb => spec/policies/instance_policy_spec.rb +2 -2
@@ 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
M spec/policies/invite_policy_spec.rb => spec/policies/invite_policy_spec.rb +9 -9
@@ 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
M spec/policies/relay_policy_spec.rb => spec/policies/relay_policy_spec.rb +2 -2
@@ 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
M spec/policies/report_note_policy_spec.rb => spec/policies/report_note_policy_spec.rb +6 -6
@@ 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)
M spec/policies/report_policy_spec.rb => spec/policies/report_policy_spec.rb +2 -2
@@ 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
M spec/policies/settings_policy_spec.rb => spec/policies/settings_policy_spec.rb +2 -2
@@ 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
M spec/policies/tag_policy_spec.rb => spec/policies/tag_policy_spec.rb +2 -2
@@ 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
M spec/policies/user_policy_spec.rb => spec/policies/user_policy_spec.rb +18 -18
@@ 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
M spec/presenters/account_relationships_presenter_spec.rb => spec/presenters/account_relationships_presenter_spec.rb +8 -8
@@ 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
M spec/presenters/status_relationships_presenter_spec.rb => spec/presenters/status_relationships_presenter_spec.rb +6 -6
@@ 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
M spec/services/account_search_service_spec.rb => spec/services/account_search_service_spec.rb +1 -1
@@ 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)
M spec/services/account_statuses_cleanup_service_spec.rb => spec/services/account_statuses_cleanup_service_spec.rb +2 -2
@@ 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
M spec/services/activitypub/fetch_remote_status_service_spec.rb => spec/services/activitypub/fetch_remote_status_service_spec.rb +3 -3
@@ 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',
M spec/services/activitypub/process_account_service_spec.rb => spec/services/activitypub/process_account_service_spec.rb +5 -5
@@ 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
M spec/services/activitypub/process_status_update_service_spec.rb => spec/services/activitypub/process_status_update_service_spec.rb +8 -8
@@ 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',
M spec/services/fetch_link_card_service_spec.rb => spec/services/fetch_link_card_service_spec.rb +2 -2
@@ 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> ') }
it 'parses out URLs' do
M spec/services/fetch_oembed_service_spec.rb => spec/services/fetch_oembed_service_spec.rb +6 -6
@@ 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,
M spec/services/fetch_remote_status_service_spec.rb => spec/services/fetch_remote_status_service_spec.rb +1 -1
@@ 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) }
M spec/services/follow_service_spec.rb => spec/services/follow_service_spec.rb +2 -2
@@ 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
M spec/services/import_service_spec.rb => spec/services/import_service_spec.rb +6 -6
@@ 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') }
M spec/services/notify_service_spec.rb => spec/services/notify_service_spec.rb +6 -6
@@ 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
M spec/services/process_mentions_service_spec.rb => spec/services/process_mentions_service_spec.rb +4 -4
@@ 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
M spec/services/reblog_service_spec.rb => spec/services/reblog_service_spec.rb +2 -2
@@ 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') }
M spec/services/report_service_spec.rb => spec/services/report_service_spec.rb +1 -1
@@ 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
M spec/services/resolve_account_service_spec.rb => spec/services/resolve_account_service_spec.rb +3 -3
@@ 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
M spec/services/resolve_url_service_spec.rb => spec/services/resolve_url_service_spec.rb +3 -3
@@ 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) }
M spec/services/search_service_spec.rb => spec/services/search_service_spec.rb +5 -5
@@ 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
M spec/services/unallow_domain_service_spec.rb => spec/services/unallow_domain_service_spec.rb +1 -1
@@ 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
M spec/services/verify_link_service_spec.rb => spec/services/verify_link_service_spec.rb +2 -2
@@ 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>') }
M spec/validators/disallowed_hashtags_validator_spec.rb => spec/validators/disallowed_hashtags_validator_spec.rb +2 -2
@@ 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 }
M spec/validators/email_mx_validator_spec.rb => spec/validators/email_mx_validator_spec.rb +1 -1
@@ 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'
M spec/validators/follow_limit_validator_spec.rb => spec/validators/follow_limit_validator_spec.rb +4 -4
@@ 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
M spec/validators/poll_validator_spec.rb => spec/validators/poll_validator_spec.rb +1 -1
@@ 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
M spec/validators/status_pin_validator_spec.rb => spec/validators/status_pin_validator_spec.rb +4 -4
@@ 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 }
M spec/validators/unreserved_username_validator_spec.rb => spec/validators/unreserved_username_validator_spec.rb +4 -4
@@ 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
M spec/validators/url_validator_spec.rb => spec/validators/url_validator_spec.rb +2 -2
@@ 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
M spec/workers/move_worker_spec.rb => spec/workers/move_worker_spec.rb +2 -2
@@ 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
M spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb => spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb +2 -2
@@ 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) },