Я пытаюсь написать набор тестов для метода, который отправляет запрос POST с параметром 'target', который должен быть между 0 и 10
Мой класс Ruby:
class ClassName
before_action :must_have_valid_target
def create
target = params[:target]
. . .
end
def must_have_valid_target
return if params.key?(:target)
error_response(422, 'error message')
end
end
Мой Rspec
it 'cannot create request with negative target' do
post(:create, {target: -1})
assert_response(422) # actual result is: Expected 422, Actual 200
end
Я пытался:
def must_have_valid_target
valid = params[:target].between?(0,10)
end
но это не работает. Как я могу проверить, что символ имеет значение между диапазонами, чтобы впоследствии я мог дать правильный ответ?
Это не домашняя работа, я пытаюсь добавить дополнительные тесты в базу кода на своем рабочем месте, но я все еще плохо знаком с RSpec и Ruby.