Для получения списка анкет я использую
GET "/questionnaires/user/1/public/true/mine/true/shared/true"
в route.rb у меня
/questionnaires/*myparams(.:format) {:controller=>"questionnaires", :action=>"list"}
Контроллер использует маршрутизацию для создания запроса в списке метода
class QuestionnairesController < ApplicationController
before_filter :authenticate
def list
myparams = params[:myparams].split("/").to_h
end
# ...
end
Я пытаюсь создать контрольные примеры для всех параметров в файле спецификации
describe "GET list" do
it "returns the list of questionnaires for the user" do
get :list
# ...
end
end
когда я запускаю rspec, я получаю
Failures:
1) QuestionnairesController List GET list returns the list of questionnaires for the user
Failure/Error: get :list
No route matches {:controller=>"questionnaires", :action=>"list"}
# ./spec/controllers/questionnaires_controller_spec.rb:20
Вопрос в том, как написать файл спецификаций для передачи слитых параметров rspec. Мне нравится делать что-то вроде этого:
describe "GET list" do
it "returns the list of questionnaires for the user" do
get :list, "/user/1/public/true/mine/true/shared/true"
end
end
и измените параметры для проверки различных случаев