diff options
-rw-r--r-- | rubocop/cop/rspec/be_success_matcher.rb | 4 | ||||
-rw-r--r-- | spec/rubocop/cop/rspec/be_success_matcher_spec.rb | 20 |
2 files changed, 20 insertions, 4 deletions
diff --git a/rubocop/cop/rspec/be_success_matcher.rb b/rubocop/cop/rspec/be_success_matcher.rb index 18bcfa6d582..ca937a8ee9f 100644 --- a/rubocop/cop/rspec/be_success_matcher.rb +++ b/rubocop/cop/rspec/be_success_matcher.rb @@ -29,11 +29,11 @@ module RuboCop MESSAGE = 'Do not use deprecated `success?` method, use `successful?` instead.'.freeze def_node_search :expect_to_be_success?, <<~PATTERN - (send (send nil? :expect (send nil? ...)) :to (send nil? :be_success)) + (send (send nil? :expect (send nil? ...)) {:to :not_to :to_not} (send nil? :be_success)) PATTERN def_node_search :is_expected_to_be_success?, <<~PATTERN - (send (send nil? :is_expected) :to (send nil? :be_success)) + (send (send nil? :is_expected) {:to :not_to :to_not} (send nil? :be_success)) PATTERN def be_success_usage?(node) diff --git a/spec/rubocop/cop/rspec/be_success_matcher_spec.rb b/spec/rubocop/cop/rspec/be_success_matcher_spec.rb index 9965b8ddf86..95f08a61557 100644 --- a/spec/rubocop/cop/rspec/be_success_matcher_spec.rb +++ b/spec/rubocop/cop/rspec/be_success_matcher_spec.rb @@ -16,10 +16,26 @@ describe RuboCop::Cop::RSpec::BeSuccessMatcher do good: %(expect(response).to be_successful).freeze }, { + bad: %(expect(response).to_not be_success).freeze, + good: %(expect(response).to_not be_successful).freeze + }, + { + bad: %(expect(response).not_to be_success).freeze, + good: %(expect(response).not_to be_successful).freeze + }, + { bad: %(is_expected.to be_success).freeze, good: %(is_expected.to be_successful).freeze + }, + { + bad: %(is_expected.to_not be_success).freeze, + good: %(is_expected.to_not be_successful).freeze + }, + { + bad: %(is_expected.not_to be_success).freeze, + good: %(is_expected.not_to be_successful).freeze } - ] + ].freeze let(:source_file) { 'spec/foo_spec.rb' } @@ -55,7 +71,7 @@ describe RuboCop::Cop::RSpec::BeSuccessMatcher do end context "using #{code_example[:good]} call" do - it "does not register an offense" do + it 'does not register an offense' do inspect_source(code_example[:good]) expect(cop.offenses.size).to eq(0) |