class RuboCop::Cop::Minitest::RefutePathExists
refute_path_exists(path, ‘message’)
refute_path_exists(path)
# good
refute(File.exist?(path), ‘message’)
refute(File.exist?(path))
# bad
@example
Enforces the test to use ‘refute_path_exists` instead of using `refute(File.exist?(path))`.
def build_good_method(node, path, message)
def build_good_method(node, path, message) args = [path.source, message&.source].compact.join(', ') if node.parenthesized? "refute_path_exists(#{args})" else "refute_path_exists #{args}" end end
def on_send(node)
def on_send(node) refute_file_exists(node) do |path, failure_message| failure_message = failure_message.first good_method = build_good_method(node, path, failure_message) message = format(MSG, good_method: good_method) add_offense(node, message: message) do |corrector| corrector.replace(node.loc.selector, 'refute_path_exists') corrector.replace(node.first_argument, path.source) end end end