1
0
Fork 0
forked from fedi/mastodon

Enable Rubocop RSpec/NotToNot (#23723)

This commit is contained in:
Nick Schonning 2023-02-19 20:33:27 -05:00 committed by GitHub
parent a2fdb388eb
commit 65ba0d92ef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 94 additions and 214 deletions

View file

@ -94,6 +94,9 @@ Rails/Exit:
- 'lib/mastodon/cli_helper.rb' - 'lib/mastodon/cli_helper.rb'
- 'lib/cli.rb' - 'lib/cli.rb'
RSpec/NotToNot:
EnforcedStyle: to_not
Style/HashSyntax: Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys EnforcedStyle: ruby19_no_mixed_keys

View file

@ -1440,129 +1440,6 @@ RSpec/NoExpectationExample:
- 'spec/controllers/auth/registrations_controller_spec.rb' - 'spec/controllers/auth/registrations_controller_spec.rb'
- 'spec/services/precompute_feed_service_spec.rb' - 'spec/services/precompute_feed_service_spec.rb'
# Offense count: 370
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: not_to, to_not
RSpec/NotToNot:
Exclude:
- 'spec/config/initializers/rack_attack_spec.rb'
- 'spec/controllers/accounts_controller_spec.rb'
- 'spec/controllers/admin/accounts_controller_spec.rb'
- 'spec/controllers/admin/email_domain_blocks_controller_spec.rb'
- 'spec/controllers/admin/roles_controller_spec.rb'
- 'spec/controllers/api/v1/accounts_controller_spec.rb'
- 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb'
- 'spec/controllers/api/v1/admin/accounts_controller_spec.rb'
- 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb'
- 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb'
- 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb'
- 'spec/controllers/api/v1/announcements_controller_spec.rb'
- 'spec/controllers/api/v1/apps/credentials_controller_spec.rb'
- 'spec/controllers/api/v1/apps_controller_spec.rb'
- 'spec/controllers/api/v1/filters_controller_spec.rb'
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/controllers/api/v1/notifications_controller_spec.rb'
- 'spec/controllers/api/v1/polls/votes_controller_spec.rb'
- 'spec/controllers/api/v1/reports_controller_spec.rb'
- 'spec/controllers/api/v1/statuses/mutes_controller_spec.rb'
- 'spec/controllers/api/v2/filters/keywords_controller_spec.rb'
- 'spec/controllers/api/v2/filters/statuses_controller_spec.rb'
- 'spec/controllers/api/v2/filters_controller_spec.rb'
- 'spec/controllers/auth/challenges_controller_spec.rb'
- 'spec/controllers/auth/confirmations_controller_spec.rb'
- 'spec/controllers/auth/passwords_controller_spec.rb'
- 'spec/controllers/auth/registrations_controller_spec.rb'
- 'spec/controllers/concerns/challengable_concern_spec.rb'
- 'spec/controllers/oauth/authorized_applications_controller_spec.rb'
- 'spec/controllers/oauth/tokens_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/application_helper_spec.rb'
- 'spec/lib/activitypub/activity/announce_spec.rb'
- 'spec/lib/activitypub/activity/create_spec.rb'
- 'spec/lib/activitypub/activity/delete_spec.rb'
- 'spec/lib/activitypub/activity/flag_spec.rb'
- 'spec/lib/activitypub/dereferencer_spec.rb'
- 'spec/lib/activitypub/tag_manager_spec.rb'
- 'spec/lib/delivery_failure_tracker_spec.rb'
- 'spec/lib/feed_manager_spec.rb'
- 'spec/lib/html_aware_formatter_spec.rb'
- 'spec/lib/request_pool_spec.rb'
- 'spec/lib/status_reach_finder_spec.rb'
- 'spec/lib/vacuum/access_tokens_vacuum_spec.rb'
- 'spec/lib/vacuum/backups_vacuum_spec.rb'
- 'spec/lib/vacuum/media_attachments_vacuum_spec.rb'
- 'spec/lib/vacuum/preview_cards_vacuum_spec.rb'
- 'spec/lib/vacuum/statuses_vacuum_spec.rb'
- 'spec/lib/vacuum/system_keys_vacuum_spec.rb'
- 'spec/models/account/field_spec.rb'
- 'spec/models/account_conversation_spec.rb'
- 'spec/models/account_spec.rb'
- 'spec/models/account_statuses_cleanup_policy_spec.rb'
- 'spec/models/account_statuses_filter_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
- 'spec/models/concerns/status_threading_concern_spec.rb'
- 'spec/models/follow_spec.rb'
- 'spec/models/media_attachment_spec.rb'
- 'spec/models/status_spec.rb'
- 'spec/models/tag_feed_spec.rb'
- 'spec/models/trends/statuses_spec.rb'
- 'spec/models/trends/tags_spec.rb'
- 'spec/models/user_spec.rb'
- 'spec/models/webhook_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/status_policy_spec.rb'
- 'spec/policies/tag_policy_spec.rb'
- 'spec/policies/user_policy_spec.rb'
- 'spec/presenters/familiar_followers_presenter_spec.rb'
- 'spec/serializers/activitypub/note_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/app_sign_up_service_spec.rb'
- 'spec/services/batched_remove_status_service_spec.rb'
- 'spec/services/block_domain_service_spec.rb'
- 'spec/services/bootstrap_timeline_service_spec.rb'
- 'spec/services/fan_out_on_write_service_spec.rb'
- 'spec/services/favourite_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/mute_service_spec.rb'
- 'spec/services/notify_service_spec.rb'
- 'spec/services/remove_status_service_spec.rb'
- 'spec/services/report_service_spec.rb'
- 'spec/services/resolve_account_service_spec.rb'
- 'spec/services/search_service_spec.rb'
- 'spec/services/suspend_account_service_spec.rb'
- 'spec/services/unallow_domain_service_spec.rb'
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/services/update_status_service_spec.rb'
- 'spec/support/examples/models/concerns/account_avatar.rb'
- 'spec/support/examples/models/concerns/account_header.rb'
- 'spec/validators/email_mx_validator_spec.rb'
- 'spec/validators/note_length_validator_spec.rb'
- 'spec/validators/reaction_validator_spec.rb'
- 'spec/validators/status_length_validator_spec.rb'
- 'spec/validators/unique_username_validator_spec.rb'
- 'spec/workers/activitypub/fetch_replies_worker_spec.rb'
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
# Offense count: 3 # Offense count: 3
RSpec/PendingWithoutReason: RSpec/PendingWithoutReason:
Exclude: Exclude:

View file

@ -60,7 +60,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do
end end
it 'does not include contents of private pinned status' do it 'does not include contents of private pinned status' do
expect(response.body).not_to include(private_pinned.text) expect(response.body).to_not include(private_pinned.text)
end end
context 'when account is permanently suspended' do context 'when account is permanently suspended' do
@ -115,7 +115,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do
end end
it 'does not include contents of private pinned status' do it 'does not include contents of private pinned status' do
expect(response.body).not_to include(private_pinned.text) expect(response.body).to_not include(private_pinned.text)
end end
end end

View file

@ -68,7 +68,7 @@ RSpec.describe ActivityPub::InboxesController, type: :controller do
let(:synchronization_collection) { 'https://example.com/followers2' } let(:synchronization_collection) { 'https://example.com/followers2' }
it 'does not start a synchronization job' do it 'does not start a synchronization job' do
expect(ActivityPub::FollowersSynchronizationWorker).not_to have_received(:perform_async) expect(ActivityPub::FollowersSynchronizationWorker).to_not have_received(:perform_async)
end end
end end
@ -76,13 +76,13 @@ RSpec.describe ActivityPub::InboxesController, type: :controller do
let(:synchronization_url) { 'https://example.org/followers' } let(:synchronization_url) { 'https://example.org/followers' }
it 'does not start a synchronization job' do it 'does not start a synchronization job' do
expect(ActivityPub::FollowersSynchronizationWorker).not_to have_received(:perform_async) expect(ActivityPub::FollowersSynchronizationWorker).to_not have_received(:perform_async)
end end
end end
context 'with matching digest' do context 'with matching digest' do
it 'does not start a synchronization job' do it 'does not start a synchronization job' do
expect(ActivityPub::FollowersSynchronizationWorker).not_to have_received(:perform_async) expect(ActivityPub::FollowersSynchronizationWorker).to_not have_received(:perform_async)
end end
end end

View file

@ -26,7 +26,7 @@ RSpec.describe Admin::AccountModerationNotesController, type: :controller do
let(:params) { { account_moderation_note: { target_account_id: target_account.id, content: '' } } } let(:params) { { account_moderation_note: { target_account_id: target_account.id, content: '' } } }
it 'falls to create a note' do it 'falls to create a note' do
expect { subject }.not_to change { AccountModerationNote.count } expect { subject }.to_not change { AccountModerationNote.count }
expect(subject).to render_template 'admin/accounts/show' expect(subject).to render_template 'admin/accounts/show'
end end
end end

View file

@ -84,7 +84,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'fails to memorialize account' do it 'fails to memorialize account' do
is_expected.to have_http_status :forbidden is_expected.to have_http_status :forbidden
expect(account.reload).not_to be_memorial expect(account.reload).to_not be_memorial
end end
end end
@ -106,7 +106,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'fails to memorialize account' do it 'fails to memorialize account' do
is_expected.to have_http_status :forbidden is_expected.to have_http_status :forbidden
expect(account.reload).not_to be_memorial expect(account.reload).to_not be_memorial
end end
end end
@ -115,7 +115,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'fails to memorialize account' do it 'fails to memorialize account' do
is_expected.to have_http_status :forbidden is_expected.to have_http_status :forbidden
expect(account.reload).not_to be_memorial expect(account.reload).to_not be_memorial
end end
end end
end end
@ -133,7 +133,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'succeeds in enabling account' do it 'succeeds in enabling account' do
is_expected.to redirect_to admin_account_path(account.id) is_expected.to redirect_to admin_account_path(account.id)
expect(user.reload).not_to be_disabled expect(user.reload).to_not be_disabled
end end
end end
@ -183,7 +183,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'fails to approve account' do it 'fails to approve account' do
is_expected.to have_http_status :forbidden is_expected.to have_http_status :forbidden
expect(user.reload).not_to be_approved expect(user.reload).to_not be_approved
end end
end end
end end
@ -223,7 +223,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
it 'fails to reject account' do it 'fails to reject account' do
is_expected.to have_http_status :forbidden is_expected.to have_http_status :forbidden
expect(user.reload).not_to be_approved expect(user.reload).to_not be_approved
end end
end end
end end

View file

@ -35,7 +35,7 @@ RSpec.describe Admin::ChangeEmailsController, type: :controller do
expect(user.email).to eq previous_email expect(user.email).to eq previous_email
expect(user.unconfirmed_email).to eq 'test@example.com' expect(user.unconfirmed_email).to eq 'test@example.com'
expect(user.confirmation_token).not_to be_nil expect(user.confirmation_token).to_not be_nil
expect(UserMailer).to have_received(:confirmation_instructions).with(user, user.confirmation_token, { to: 'test@example.com' }) expect(UserMailer).to have_received(:confirmation_instructions).with(user, user.confirmation_token, { to: 'test@example.com' })

View file

@ -55,7 +55,7 @@ RSpec.describe Admin::ConfirmationsController, type: :controller do
it 'does not resend confirmation mail' do it 'does not resend confirmation mail' do
expect(subject).to redirect_to admin_accounts_path expect(subject).to redirect_to admin_accounts_path
expect(flash[:error]).to eq I18n.t('admin.accounts.resend_confirmation.already_confirmed') expect(flash[:error]).to eq I18n.t('admin.accounts.resend_confirmation.already_confirmed')
expect(UserMailer).not_to have_received(:confirmation_instructions) expect(UserMailer).to_not have_received(:confirmation_instructions)
end end
end end
end end

View file

@ -54,7 +54,7 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
post :create, params: { domain_block: { domain: 'example.com', severity: 'silence' } } post :create, params: { domain_block: { domain: 'example.com', severity: 'silence' } }
expect(DomainBlockWorker).not_to have_received(:perform_async) expect(DomainBlockWorker).to_not have_received(:perform_async)
expect(response).to render_template :new expect(response).to render_template :new
end end

View file

@ -34,7 +34,7 @@ describe Admin::ReportNotesController do
it 'creates a report note and does not resolve report' do it 'creates a report note and does not resolve report' do
expect { subject }.to change { ReportNote.count }.by(1) expect { subject }.to change { ReportNote.count }.by(1)
expect(report.reload).not_to be_action_taken expect(report.reload).to_not be_action_taken
expect(subject).to redirect_to admin_report_path(report) expect(subject).to redirect_to admin_report_path(report)
end end
end end
@ -49,7 +49,7 @@ describe Admin::ReportNotesController do
it 'creates a report note and unresolves report' do it 'creates a report note and unresolves report' do
expect { subject }.to change { ReportNote.count }.by(1) expect { subject }.to change { ReportNote.count }.by(1)
expect(report.reload).not_to be_action_taken expect(report.reload).to_not be_action_taken
expect(subject).to redirect_to admin_report_path(report) expect(subject).to redirect_to admin_report_path(report)
end end
end end

View file

@ -38,7 +38,7 @@ RSpec.describe Settings::ProfilesController, type: :controller do
put :update, params: { account: { avatar: fixture_file_upload('avatar.gif', 'image/gif') } } put :update, params: { account: { avatar: fixture_file_upload('avatar.gif', 'image/gif') } }
expect(response).to redirect_to(settings_profile_path) expect(response).to redirect_to(settings_profile_path)
expect(account.reload.avatar.instance.avatar_file_name).not_to be_nil expect(account.reload.avatar.instance.avatar_file_name).to_not be_nil
expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id) expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id)
end end
end end

View file

@ -27,7 +27,7 @@ describe WellKnown::NodeInfoController, type: :controller do
json = body_as_json json = body_as_json
expect({ 'foo' => 0 }).not_to match_json_schema('nodeinfo_2.0') expect({ 'foo' => 0 }).to_not match_json_schema('nodeinfo_2.0')
expect(json).to match_json_schema('nodeinfo_2.0') expect(json).to match_json_schema('nodeinfo_2.0')
expect(json[:version]).to eq '2.0' expect(json[:version]).to eq '2.0'
expect(json[:usage]).to be_a Hash expect(json[:usage]).to be_a Hash

View file

@ -139,7 +139,7 @@ RSpec.describe ActivityPub::Activity::Announce do
end end
it 'does not fetch the remote status' do it 'does not fetch the remote status' do
expect(a_request(:get, 'https://example.com/actor/hello-world')).not_to have_been_made expect(a_request(:get, 'https://example.com/actor/hello-world')).to_not have_been_made
expect(Status.find_by(uri: 'https://example.com/actor/hello-world')).to be_nil expect(Status.find_by(uri: 'https://example.com/actor/hello-world')).to be_nil
end end

View file

@ -102,7 +102,7 @@ describe Request do
it 'accepts body less than 1 megabyte by default' do it 'accepts body less than 1 megabyte by default' do
stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.kilobytes)) stub_request(:any, 'http://example.com').to_return(body: SecureRandom.random_bytes(2.kilobytes))
expect { subject.perform { |response| response.body_with_limit } }.not_to raise_error expect { subject.perform { |response| response.body_with_limit } }.to_not raise_error
end end
it 'rejects body by given size' do it 'rejects body by given size' do

View file

@ -10,7 +10,7 @@ describe StatusFilter do
subject { described_class.new(status, nil) } subject { described_class.new(status, nil) }
context 'when there are no connections' do context 'when there are no connections' do
it { is_expected.not_to be_filtered } it { is_expected.to_not be_filtered }
end end
context 'when status account is silenced' do context 'when status account is silenced' do
@ -36,7 +36,7 @@ describe StatusFilter do
subject { described_class.new(status, account) } subject { described_class.new(status, account) }
context 'when there are no connections' do context 'when there are no connections' do
it { is_expected.not_to be_filtered } it { is_expected.to_not be_filtered }
end end
context 'when status account is blocked' do context 'when status account is blocked' do

View file

@ -18,7 +18,7 @@ RSpec.describe TextFormatter do
let(:text) { "line\nfeed" } let(:text) { "line\nfeed" }
it 'removes line feeds' do it 'removes line feeds' do
is_expected.not_to include "\n" is_expected.to_not include "\n"
end end
end end

View file

@ -31,7 +31,7 @@ RSpec.describe Account, type: :model do
end end
it 'does not raise an error' do it 'does not raise an error' do
expect { subject.suspend! }.not_to raise_error expect { subject.suspend! }.to_not raise_error
end end
end end
end end
@ -206,7 +206,7 @@ RSpec.describe Account, type: :model do
end end
it 'calls not ResolveAccountService#call' do it 'calls not ResolveAccountService#call' do
expect_any_instance_of(ResolveAccountService).not_to receive(:call).with(acct) expect_any_instance_of(ResolveAccountService).to_not receive(:call).with(acct)
account.refresh! account.refresh!
end end
end end
@ -811,19 +811,19 @@ RSpec.describe Account, type: :model do
it 'is valid even if the username is longer than 30 characters' do it 'is valid even if the username is longer than 30 characters' do
account = Fabricate.build(:account, domain: 'domain', username: Faker::Lorem.characters(number: 31)) account = Fabricate.build(:account, domain: 'domain', username: Faker::Lorem.characters(number: 31))
account.valid? account.valid?
expect(account).not_to model_have_error_on_field(:username) expect(account).to_not model_have_error_on_field(:username)
end end
it 'is valid even if the display name is longer than 30 characters' do it 'is valid even if the display name is longer than 30 characters' do
account = Fabricate.build(:account, domain: 'domain', display_name: Faker::Lorem.characters(number: 31)) account = Fabricate.build(:account, domain: 'domain', display_name: Faker::Lorem.characters(number: 31))
account.valid? account.valid?
expect(account).not_to model_have_error_on_field(:display_name) expect(account).to_not model_have_error_on_field(:display_name)
end end
it 'is valid even if the note is longer than 500 characters' do it 'is valid even if the note is longer than 500 characters' do
account = Fabricate.build(:account, domain: 'domain', note: Faker::Lorem.characters(number: 501)) account = Fabricate.build(:account, domain: 'domain', note: Faker::Lorem.characters(number: 501))
account.valid? account.valid?
expect(account).not_to model_have_error_on_field(:note) expect(account).to_not model_have_error_on_field(:note)
end end
end end
end end

View file

@ -163,7 +163,7 @@ describe AccountInteractions do
it 'returns Mute without updating mute.hide_notifications' do it 'returns Mute without updating mute.hide_notifications' do
expect do expect do
expect(subject).to be_a Mute expect(subject).to be_a Mute
end.not_to change { mute.reload.hide_notifications? }.from(true) end.to_not change { mute.reload.hide_notifications? }.from(true)
end end
end end
@ -183,7 +183,7 @@ describe AccountInteractions do
it 'returns Mute without updating mute.hide_notifications' do it 'returns Mute without updating mute.hide_notifications' do
expect do expect do
expect(subject).to be_a Mute expect(subject).to be_a Mute
end.not_to change { mute.reload.hide_notifications? }.from(true) end.to_not change { mute.reload.hide_notifications? }.from(true)
end end
end end
end end
@ -207,7 +207,7 @@ describe AccountInteractions do
it 'returns Mute without updating mute.hide_notifications' do it 'returns Mute without updating mute.hide_notifications' do
expect do expect do
expect(subject).to be_a Mute expect(subject).to be_a Mute
end.not_to change { mute.reload.hide_notifications? }.from(false) end.to_not change { mute.reload.hide_notifications? }.from(false)
end end
end end

View file

@ -147,8 +147,8 @@ RSpec.describe Remotable do
let(:code) { 500 } let(:code) { 500 }
it 'does not assign file' do it 'does not assign file' do
expect(foo).not_to receive(:public_send).with("#{hoge}=", any_args) expect(foo).to_not receive(:public_send).with("#{hoge}=", any_args)
expect(foo).not_to receive(:public_send).with("#{hoge}_file_name=", any_args) expect(foo).to_not receive(:public_send).with("#{hoge}_file_name=", any_args)
foo.hoge_remote_url = url foo.hoge_remote_url = url
end end

View file

@ -11,7 +11,7 @@ RSpec.describe PublicFeed, type: :model do
private_status = Fabricate(:status, visibility: :private) private_status = Fabricate(:status, visibility: :private)
expect(subject).to include(public_status.id) expect(subject).to include(public_status.id)
expect(subject).not_to include(private_status.id) expect(subject).to_not include(private_status.id)
end end
it 'does not include replies' do it 'does not include replies' do
@ -19,7 +19,7 @@ RSpec.describe PublicFeed, type: :model do
reply = Fabricate(:status, in_reply_to_id: status.id) reply = Fabricate(:status, in_reply_to_id: status.id)
expect(subject).to include(status.id) expect(subject).to include(status.id)
expect(subject).not_to include(reply.id) expect(subject).to_not include(reply.id)
end end
it 'does not include boosts' do it 'does not include boosts' do
@ -27,7 +27,7 @@ RSpec.describe PublicFeed, type: :model do
boost = Fabricate(:status, reblog_of_id: status.id) boost = Fabricate(:status, reblog_of_id: status.id)
expect(subject).to include(status.id) expect(subject).to include(status.id)
expect(subject).not_to include(boost.id) expect(subject).to_not include(boost.id)
end end
it 'filters out silenced accounts' do it 'filters out silenced accounts' do
@ -36,7 +36,7 @@ RSpec.describe PublicFeed, type: :model do
silenced_status = Fabricate(:status, account: silenced_account) silenced_status = Fabricate(:status, account: silenced_account)
expect(subject).to include(status.id) expect(subject).to include(status.id)
expect(subject).not_to include(silenced_status.id) expect(subject).to_not include(silenced_status.id)
end end
context 'without local_only option' do context 'without local_only option' do
@ -87,7 +87,7 @@ RSpec.describe PublicFeed, type: :model do
it 'does not include remote instances statuses' do it 'does not include remote instances statuses' do
expect(subject).to include(local_status.id) expect(subject).to include(local_status.id)
expect(subject).not_to include(remote_status.id) expect(subject).to_not include(remote_status.id)
end end
end end
@ -96,13 +96,13 @@ RSpec.describe PublicFeed, type: :model do
it 'does not include remote instances statuses' do it 'does not include remote instances statuses' do
expect(subject).to include(local_status.id) expect(subject).to include(local_status.id)
expect(subject).not_to include(remote_status.id) expect(subject).to_not include(remote_status.id)
end end
it 'is not affected by personal domain blocks' do it 'is not affected by personal domain blocks' do
viewer.block_domain!('test.com') viewer.block_domain!('test.com')
expect(subject).to include(local_status.id) expect(subject).to include(local_status.id)
expect(subject).not_to include(remote_status.id) expect(subject).to_not include(remote_status.id)
end end
end end
end end
@ -119,7 +119,7 @@ RSpec.describe PublicFeed, type: :model do
let(:viewer) { nil } let(:viewer) { nil }
it 'does not include local instances statuses' do it 'does not include local instances statuses' do
expect(subject).not_to include(local_status.id) expect(subject).to_not include(local_status.id)
expect(subject).to include(remote_status.id) expect(subject).to include(remote_status.id)
end end
end end
@ -128,7 +128,7 @@ RSpec.describe PublicFeed, type: :model do
let(:viewer) { Fabricate(:account, username: 'viewer') } let(:viewer) { Fabricate(:account, username: 'viewer') }
it 'does not include local instances statuses' do it 'does not include local instances statuses' do
expect(subject).not_to include(local_status.id) expect(subject).to_not include(local_status.id)
expect(subject).to include(remote_status.id) expect(subject).to include(remote_status.id)
end end
end end
@ -146,7 +146,7 @@ RSpec.describe PublicFeed, type: :model do
@account.block!(blocked) @account.block!(blocked)
blocked_status = Fabricate(:status, account: blocked) blocked_status = Fabricate(:status, account: blocked)
expect(subject).not_to include(blocked_status.id) expect(subject).to_not include(blocked_status.id)
end end
it 'excludes statuses from accounts who have blocked the account' do it 'excludes statuses from accounts who have blocked the account' do
@ -154,7 +154,7 @@ RSpec.describe PublicFeed, type: :model do
blocker.block!(@account) blocker.block!(@account)
blocked_status = Fabricate(:status, account: blocker) blocked_status = Fabricate(:status, account: blocker)
expect(subject).not_to include(blocked_status.id) expect(subject).to_not include(blocked_status.id)
end end
it 'excludes statuses from accounts muted by the account' do it 'excludes statuses from accounts muted by the account' do
@ -162,7 +162,7 @@ RSpec.describe PublicFeed, type: :model do
@account.mute!(muted) @account.mute!(muted)
muted_status = Fabricate(:status, account: muted) muted_status = Fabricate(:status, account: muted)
expect(subject).not_to include(muted_status.id) expect(subject).to_not include(muted_status.id)
end end
it 'excludes statuses from accounts from personally blocked domains' do it 'excludes statuses from accounts from personally blocked domains' do
@ -170,7 +170,7 @@ RSpec.describe PublicFeed, type: :model do
@account.block_domain!(blocked.domain) @account.block_domain!(blocked.domain)
blocked_status = Fabricate(:status, account: blocked) blocked_status = Fabricate(:status, account: blocked)
expect(subject).not_to include(blocked_status.id) expect(subject).to_not include(blocked_status.id)
end end
context 'with language preferences' do context 'with language preferences' do
@ -182,7 +182,7 @@ RSpec.describe PublicFeed, type: :model do
expect(subject).to include(en_status.id) expect(subject).to include(en_status.id)
expect(subject).to include(es_status.id) expect(subject).to include(es_status.id)
expect(subject).not_to include(fr_status.id) expect(subject).to_not include(fr_status.id)
end end
it 'includes all languages when user does not have a setting' do it 'includes all languages when user does not have a setting' do

View file

@ -38,7 +38,7 @@ RSpec.describe Setting, type: :model do
let(:cache_value) { 'cache-value' } let(:cache_value) { 'cache-value' }
it 'calls not RailsSettings::Base#[]' do it 'calls not RailsSettings::Base#[]' do
expect(RailsSettings::Base).not_to receive(:[]).with(key) expect(RailsSettings::Base).to_not receive(:[]).with(key)
described_class[key] described_class[key]
end end
@ -104,7 +104,7 @@ RSpec.describe Setting, type: :model do
ActiveSupport::Notifications.subscribed callback, 'sql.active_record' do ActiveSupport::Notifications.subscribed callback, 'sql.active_record' do
described_class[key] described_class[key]
end end
expect(callback).not_to have_received(:call) expect(callback).to_not have_received(:call)
end end
it 'returns the cached value' do it 'returns the cached value' do

View file

@ -4,15 +4,15 @@ require 'rails_helper'
RSpec.describe Tag do RSpec.describe Tag do
describe 'validations' do describe 'validations' do
it 'invalid with #' do it 'invalid with #' do
expect(described_class.new(name: '#hello_world')).not_to be_valid expect(described_class.new(name: '#hello_world')).to_not be_valid
end end
it 'invalid with .' do it 'invalid with .' do
expect(described_class.new(name: '.abcdef123')).not_to be_valid expect(described_class.new(name: '.abcdef123')).to_not be_valid
end end
it 'invalid with spaces' do it 'invalid with spaces' do
expect(described_class.new(name: 'hello world')).not_to be_valid expect(described_class.new(name: 'hello world')).to_not be_valid
end end
it 'valid with ' do it 'valid with ' do

View file

@ -159,7 +159,7 @@ RSpec.describe User, type: :model do
it 'does not trigger the account.approved Web Hook' do it 'does not trigger the account.approved Web Hook' do
subject subject
expect(TriggerWebhookWorker).not_to have_received(:perform_async).with('account.approved', 'Account', user.account_id) expect(TriggerWebhookWorker).to_not have_received(:perform_async).with('account.approved', 'Account', user.account_id)
end end
end end
@ -270,7 +270,7 @@ RSpec.describe User, type: :model do
it 'does not trigger the account.approved Web Hook' do it 'does not trigger the account.approved Web Hook' do
subject subject
expect(TriggerWebhookWorker).not_to have_received(:perform_async).with('account.approved', 'Account', user.account_id) expect(TriggerWebhookWorker).to_not have_received(:perform_async).with('account.approved', 'Account', user.account_id)
end end
end end
end end

View file

@ -63,7 +63,7 @@ describe AccountSearchService, type: :service do
allow(ResolveAccountService).to receive(:new).and_return(service) allow(ResolveAccountService).to receive(:new).and_return(service)
results = subject.call('newuser@remote.com', nil, limit: 10, resolve: false) results = subject.call('newuser@remote.com', nil, limit: 10, resolve: false)
expect(service).not_to have_received(:call) expect(service).to_not have_received(:call)
end end
end end

View file

@ -39,7 +39,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
end end
it 'does not process payload' do it 'does not process payload' do
expect(ActivityPub::Activity).not_to receive(:factory) expect(ActivityPub::Activity).to_not receive(:factory)
subject.call(json, actor) subject.call(json, actor)
end end
end end
@ -69,7 +69,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
it 'does not process payload if no signature exists' do it 'does not process payload if no signature exists' do
expect_any_instance_of(ActivityPub::LinkedDataSignature).to receive(:verify_actor!).and_return(nil) expect_any_instance_of(ActivityPub::LinkedDataSignature).to receive(:verify_actor!).and_return(nil)
expect(ActivityPub::Activity).not_to receive(:factory) expect(ActivityPub::Activity).to_not receive(:factory)
subject.call(json, forwarder) subject.call(json, forwarder)
end end
@ -87,7 +87,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
payload['signature'] = { 'type' => 'RsaSignature2017' } payload['signature'] = { 'type' => 'RsaSignature2017' }
expect_any_instance_of(ActivityPub::LinkedDataSignature).to receive(:verify_actor!).and_return(nil) expect_any_instance_of(ActivityPub::LinkedDataSignature).to receive(:verify_actor!).and_return(nil)
expect(ActivityPub::Activity).not_to receive(:factory) expect(ActivityPub::Activity).to_not receive(:factory)
subject.call(json, forwarder) subject.call(json, forwarder)
end end
@ -206,7 +206,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
end end
it 'does not process forged payload' do it 'does not process forged payload' do
expect(ActivityPub::Activity).not_to receive(:factory).with( expect(ActivityPub::Activity).to_not receive(:factory).with(
hash_including( hash_including(
'object' => hash_including( 'object' => hash_including(
'id' => 'https://example.com/users/bob/fake-status' 'id' => 'https://example.com/users/bob/fake-status'
@ -216,7 +216,7 @@ RSpec.describe ActivityPub::ProcessCollectionService, type: :service do
anything anything
) )
expect(ActivityPub::Activity).not_to receive(:factory).with( expect(ActivityPub::Activity).to_not receive(:factory).with(
hash_including( hash_including(
'object' => hash_including( 'object' => hash_including(
'content' => '<p>puck was here</p>' 'content' => '<p>puck was here</p>'

View file

@ -214,11 +214,11 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do
end end
it 'does not create any edits' do it 'does not create any edits' do
expect { subject.call(status, json) }.not_to change { status.reload.edits.pluck(&:id) } expect { subject.call(status, json) }.to_not change { status.reload.edits.pluck(&:id) }
end end
it 'does not update the text, spoiler_text or edited_at' do it 'does not update the text, spoiler_text or edited_at' do
expect { subject.call(status, json) }.not_to change { s = status.reload; [s.text, s.spoiler_text, s.edited_at] } expect { subject.call(status, json) }.to_not change { s = status.reload; [s.text, s.spoiler_text, s.edited_at] }
end end
end end

View file

@ -67,9 +67,9 @@ RSpec.describe BlockDomainService, type: :service do
end end
it 'leaves the domains status and attachments, but clears media' do it 'leaves the domains status and attachments, but clears media' do
expect { bad_status1.reload }.not_to raise_error expect { bad_status1.reload }.to_not raise_error
expect { bad_status2.reload }.not_to raise_error expect { bad_status2.reload }.to_not raise_error
expect { bad_attachment.reload }.not_to raise_error expect { bad_attachment.reload }.to_not raise_error
expect(bad_attachment.file.exists?).to be false expect(bad_attachment.file.exists?).to be false
end end
end end

View file

@ -14,9 +14,9 @@ RSpec.describe ClearDomainMediaService, type: :service do
end end
it 'leaves the domains status and attachments, but clears media' do it 'leaves the domains status and attachments, but clears media' do
expect { bad_status1.reload }.not_to raise_error expect { bad_status1.reload }.to_not raise_error
expect { bad_status2.reload }.not_to raise_error expect { bad_status2.reload }.to_not raise_error
expect { bad_attachment.reload }.not_to raise_error expect { bad_attachment.reload }.to_not raise_error
expect(bad_attachment.file.exists?).to be false expect(bad_attachment.file.exists?).to be false
end end
end end

View file

@ -234,7 +234,7 @@ RSpec.describe ImportService, type: :service do
subject.call(import) subject.call(import)
expect(account.bookmarks.map(&:status).map(&:id)).to include(local_status.id) expect(account.bookmarks.map(&:status).map(&:id)).to include(local_status.id)
expect(account.bookmarks.map(&:status).map(&:id)).to include(remote_status.id) expect(account.bookmarks.map(&:status).map(&:id)).to include(remote_status.id)
expect(account.bookmarks.map(&:status).map(&:id)).not_to include(direct_status.id) expect(account.bookmarks.map(&:status).map(&:id)).to_not include(direct_status.id)
expect(account.bookmarks.count).to eq 3 expect(account.bookmarks.count).to eq 3
end end
end end

View file

@ -50,7 +50,7 @@ RSpec.describe PostStatusService, type: :service do
end end
it 'does not change statuses count' do it 'does not change statuses count' do
expect { subject.call(account, text: 'Hi future!', scheduled_at: future, thread: previous_status) }.not_to change { [account.statuses_count, previous_status.replies_count] } expect { subject.call(account, text: 'Hi future!', scheduled_at: future, thread: previous_status) }.to_not change { [account.statuses_count, previous_status.replies_count] }
end end
end end
@ -157,7 +157,7 @@ RSpec.describe PostStatusService, type: :service do
expect do expect do
subject.call(account, text: '@alice @alice @alice hey @alice') subject.call(account, text: '@alice @alice @alice hey @alice')
end.not_to raise_error end.to_not raise_error
end end
it 'processes hashtags' do it 'processes hashtags' do

View file

@ -13,8 +13,8 @@ describe SearchService, type: :service do
results = subject.call('', nil, 10) results = subject.call('', nil, 10)
expect(results).to eq(empty_results) expect(results).to eq(empty_results)
expect(AccountSearchService).not_to have_received(:new) expect(AccountSearchService).to_not have_received(:new)
expect(Tag).not_to have_received(:search_for) expect(Tag).to_not have_received(:search_for)
end end
end end
@ -89,7 +89,7 @@ describe SearchService, type: :service do
allow(Tag).to receive(:search_for) allow(Tag).to receive(:search_for)
results = subject.call(query, nil, 10) results = subject.call(query, nil, 10)
expect(Tag).not_to have_received(:search_for) expect(Tag).to_not have_received(:search_for)
expect(results).to eq empty_results expect(results).to eq empty_results
end end

View file

@ -26,7 +26,7 @@ RSpec.describe BlacklistedEmailValidator, type: :validator do
let(:blocked_email) { false } let(:blocked_email) { false }
it 'does not add errors' do it 'does not add errors' do
expect(subject).not_to have_received(:add).with(:email, :blocked) expect(subject).to_not have_received(:add).with(:email, :blocked)
end end
context 'when canonical e-mail is blocked' do context 'when canonical e-mail is blocked' do

View file

@ -19,7 +19,7 @@ RSpec.describe DisallowedHashtagsValidator, type: :validator do
let(:reblog) { true } let(:reblog) { true }
it 'does not add errors' do it 'does not add errors' do
expect(errors).not_to have_received(:add).with(:text, any_args) expect(errors).to_not have_received(:add).with(:text, any_args)
end end
end end
@ -31,7 +31,7 @@ RSpec.describe DisallowedHashtagsValidator, type: :validator do
let(:disallowed_tags) { [] } let(:disallowed_tags) { [] }
it 'does not add errors' do it 'does not add errors' do
expect(errors).not_to have_received(:add).with(:text, any_args) expect(errors).to_not have_received(:add).with(:text, any_args)
end end
end end

View file

@ -38,7 +38,7 @@ describe EmailMxValidator do
allow(Resolv::DNS).to receive(:open).and_yield(resolver) allow(Resolv::DNS).to receive(:open).and_yield(resolver)
subject.validate(user) subject.validate(user)
expect(user.errors).not_to have_received(:add) expect(user.errors).to_not have_received(:add)
end end
it 'adds an error if the email domain name contains empty labels' do it 'adds an error if the email domain name contains empty labels' do

View file

@ -22,7 +22,7 @@ RSpec.describe FollowLimitValidator, type: :validator do
let(:_nil) { true } let(:_nil) { true }
it 'not calls errors.add' do it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(:base, any_args) expect(errors).to_not have_received(:add).with(:base, any_args)
end end
end end
@ -43,7 +43,7 @@ RSpec.describe FollowLimitValidator, type: :validator do
let(:limit_reached) { false } let(:limit_reached) { false }
it 'not calls errors.add' do it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(:base, any_args) expect(errors).to_not have_received(:add).with(:base, any_args)
end end
end end
end end

View file

@ -15,14 +15,14 @@ RSpec.describe PollValidator, type: :validator do
let(:expires_at) { 1.day.from_now } let(:expires_at) { 1.day.from_now }
it 'have no errors' do it 'have no errors' do
expect(errors).not_to have_received(:add) expect(errors).to_not have_received(:add)
end end
context 'expires just 5 min ago' do context 'expires just 5 min ago' do
let(:expires_at) { 5.minutes.from_now } let(:expires_at) { 5.minutes.from_now }
it 'not calls errors add' do it 'not calls errors add' do
expect(errors).not_to have_received(:add) expect(errors).to_not have_received(:add)
end end
end end
end end

View file

@ -7,13 +7,13 @@ describe StatusLengthValidator do
it 'does not add errors onto remote statuses' do it 'does not add errors onto remote statuses' do
status = double(local?: false) status = double(local?: false)
subject.validate(status) subject.validate(status)
expect(status).not_to receive(:errors) expect(status).to_not receive(:errors)
end end
it 'does not add errors onto local reblogs' do it 'does not add errors onto local reblogs' do
status = double(local?: false, reblog?: true) status = double(local?: false, reblog?: true)
subject.validate(status) subject.validate(status)
expect(status).not_to receive(:errors) expect(status).to_not receive(:errors)
end end
it 'adds an error when content warning is over 500 characters' do it 'adds an error when content warning is over 500 characters' do

View file

@ -17,7 +17,7 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
let(:username) { nil } let(:username) { nil }
it 'not calls errors.add' do it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(:username, any_args) expect(errors).to_not have_received(:add).with(:username, any_args)
end end
end end
@ -36,7 +36,7 @@ RSpec.describe UnreservedUsernameValidator, type: :validator do
let(:reserved_username) { false } let(:reserved_username) { false }
it 'not calls errors.add' do it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(:username, any_args) expect(errors).to_not have_received(:add).with(:username, any_args)
end end
end end
end end

View file

@ -27,7 +27,7 @@ RSpec.describe URLValidator, type: :validator do
let(:compliant) { true } let(:compliant) { true }
it 'not calls errors.add' do it 'not calls errors.add' do
expect(errors).not_to have_received(:add).with(attribute, any_args) expect(errors).to_not have_received(:add).with(attribute, any_args)
end end
end end
end end

View file

@ -16,7 +16,7 @@ describe FeedInsertWorker do
result = subject.perform(nil, follower.id) result = subject.perform(nil, follower.id)
expect(result).to eq true expect(result).to eq true
expect(instance).not_to have_received(:push_to_home) expect(instance).to_not have_received(:push_to_home)
end end
it 'skips push with missing account' do it 'skips push with missing account' do
@ -25,7 +25,7 @@ describe FeedInsertWorker do
result = subject.perform(status.id, nil) result = subject.perform(status.id, nil)
expect(result).to eq true expect(result).to eq true
expect(instance).not_to have_received(:push_to_home) expect(instance).to_not have_received(:push_to_home)
end end
end end
@ -36,7 +36,7 @@ describe FeedInsertWorker do
result = subject.perform(status.id, follower.id) result = subject.perform(status.id, follower.id)
expect(result).to be_nil expect(result).to be_nil
expect(instance).not_to have_received(:push_to_home) expect(instance).to_not have_received(:push_to_home)
end end
it 'pushes the status onto the home timeline without filter' do it 'pushes the status onto the home timeline without filter' do