diff options
Diffstat (limited to 'spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb')
-rw-r--r-- | spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb | 51 |
1 files changed, 19 insertions, 32 deletions
diff --git a/spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb b/spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb index f6040350dc0..c2d97c8992a 100644 --- a/spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb +++ b/spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb @@ -4,50 +4,42 @@ require 'fast_spec_helper' require 'rspec-parameterized' require 'rubocop' -require 'rubocop/rspec/support' - require_relative '../../../../rubocop/cop/rspec/have_gitlab_http_status' RSpec.describe RuboCop::Cop::RSpec::HaveGitlabHttpStatus do - include CopHelper - using RSpec::Parameterized::TableSyntax let(:source_file) { 'spec/foo_spec.rb' } subject(:cop) { described_class.new } - shared_examples 'offense' do |code| - it 'registers an offense' do - inspect_source(code, source_file) + shared_examples 'offense' do |bad, good| + it 'registers an offense', :aggregate_failures do + expect_offense(<<~CODE, node: bad) + %{node} + ^{node} [...] + CODE - expect(cop.offenses.size).to eq(1) - expect(cop.offenses.map(&:line)).to eq([1]) - expect(cop.highlights).to eq([code]) + expect_correction(<<~CODE) + #{good} + CODE end end shared_examples 'no offense' do |code| it 'does not register an offense' do - inspect_source(code) - - expect(cop.offenses).to be_empty - end - end - - shared_examples 'autocorrect' do |bad, good| - it 'autocorrects' do - autocorrected = autocorrect_source(bad, source_file) - - expect(autocorrected).to eql(good) + expect_no_offenses(code) end end - shared_examples 'no autocorrect' do |code| + shared_examples 'offense with no autocorrect' do |code| it 'does not autocorrect' do - autocorrected = autocorrect_source(code, source_file) + expect_offense(<<~CODE, node: code) + %{node} + ^{node} [...] + CODE - expect(autocorrected).to eql(code) + expect_no_corrections end end @@ -64,10 +56,8 @@ RSpec.describe RuboCop::Cop::RSpec::HaveGitlabHttpStatus do end with_them do - include_examples 'offense', params[:bad] + include_examples 'offense', params[:bad], params[:good] include_examples 'no offense', params[:good] - include_examples 'autocorrect', params[:bad], params[:good] - include_examples 'no autocorrect', params[:good] end end @@ -77,10 +67,8 @@ RSpec.describe RuboCop::Cop::RSpec::HaveGitlabHttpStatus do end with_them do - include_examples 'offense', params[:bad] - include_examples 'offense', params[:good] - include_examples 'autocorrect', params[:bad], params[:good] - include_examples 'no autocorrect', params[:good] + include_examples 'offense', params[:bad], params[:good] + include_examples 'offense with no autocorrect', params[:good] end end @@ -114,7 +102,6 @@ RSpec.describe RuboCop::Cop::RSpec::HaveGitlabHttpStatus do with_them do include_examples 'no offense', params[:code] - include_examples 'no autocorrect', params[:code] end end end |