Class: DatarocketsStyle::Cop::RSpec::PreferBeforeOverSetup

Inherits:
RuboCop::Cop::Cop
  • Object
show all
Defined in:
lib/datarockets_style/cop/rspec/prefer_before_over_setup.rb

Overview

Checks that tests use ‘before` instead of RoR unit-test `setup` method (part of `rspec-rails` gem)

bad

setup do

allow(post).to receive(:publish!)

end

good

before do

allow(post).to receive(:publish!)

end

Constant Summary collapse

MSG =
"Use `before` instead of `setup`."

Instance Method Summary collapse

Instance Method Details

#autocorrect(node) ⇒ Object



34
35
36
37
38
39
# File 'lib/datarockets_style/cop/rspec/prefer_before_over_setup.rb', line 34

def autocorrect(node)
  lambda do |corrector|
    block_internals = node.source.split(/ /)
    corrector.replace node.loc.expression, ["before", *block_internals[1..]].join(" ")
  end
end

#on_block(node) ⇒ Object



28
29
30
31
32
# File 'lib/datarockets_style/cop/rspec/prefer_before_over_setup.rb', line 28

def on_block(node)
  return unless setup_call?(node)

  add_offense(node)
end