Sha256: cee85fc32251e94d38d5e4234d4c1313322c3df6ed59434a35e2910165e11d4d
Contents?: true
Size: 1.96 KB
Versions: 1
Compression:
Stored size: 1.96 KB
Contents
RSpec.describe RuboCop::Cop::RSpec::OverwritingSetup do subject(:cop) { described_class.new } it 'finds overwriten `let`' do expect_offense(<<-RUBY) RSpec.describe User do let(:a) { a } let(:a) { b } ^^^^^^^^^^^^^ `a` is already defined. end RUBY end it 'finds overwriten `subject`' do expect_offense(<<-RUBY) RSpec.describe User do subject(:a) { a } let(:a) { b } ^^^^^^^^^^^^^ `a` is already defined. end RUBY end it 'works with `subject!` and `let!`' do expect_offense(<<-RUBY) RSpec.describe User do subject!(:a) { a } let!(:a) { b } ^^^^^^^^^^^^^^ `a` is already defined. end RUBY end it 'finds `let!` overwriting `let`' do expect_offense(<<-RUBY) RSpec.describe User do let(:a) { b } let!(:a) { b } ^^^^^^^^^^^^^^ `a` is already defined. end RUBY end it 'ignores overwriting in different context' do expect_no_offenses(<<-RUBY) RSpec.describe User do let(:a) { a } context `different` do let(:a) { b } end end RUBY end it 'handles unnamed subjects' do expect_offense(<<-RUBY) RSpec.describe User do subject { a } let(:subject) { b } ^^^^^^^^^^^^^^^^^^^ `subject` is already defined. end RUBY end it 'handles dynamic names for `let`' do expect_no_offenses(<<-RUBY) RSpec.describe User do subject(:name) { a } let(name) { b } end RUBY end it 'handles string arguments' do expect_offense(<<-RUBY) RSpec.describe User do subject(:name) { a } let("name") { b } ^^^^^^^^^^^^^^^^^ `name` is already defined. end RUBY end it 'does not encounter an error when handling an empty describe' do expect { inspect_source('RSpec.describe(User) do end', 'a_spec.rb') } .not_to raise_error end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.27.0 | spec/rubocop/cop/rspec/overwriting_setup_spec.rb |