class RuboCop::Cop::RSpec::LetSetup

end
expect(Widget.count).to eq(1)
it ‘counts widgets’ do
before { create(:widget) }
# Good
end
expect(Widget.count).to eq(1)
create(:widget)
it ‘counts widgets’ do
# Good
end
expect(Widget.count).to eq(1)
it ‘counts widgets’ do
let!(:my_widget) { create(:widget) }
# Bad
@example
Checks unreferenced ‘let!` calls being used for test setup.

def on_block(node)

def on_block(node)
  return unless example_group?(node)
  unused_let_bang(node) do |let|
    add_offense(let, location: :expression)
  end
end

def unused_let_bang(node)

def unused_let_bang(node)
  let_bang(node) do |method_send, method_name|
    yield(method_send) unless method_called?(node, method_name)
  end
end