Rspec 2.3 на Rails 3.0.3 дает некоторые проблемы с доступом к контроллеру? - PullRequest
1 голос
/ 20 декабря 2010

Кажется, что некоторые из моих тестов Rspec теперь не проходят после переноса моего приложения на Rspec 2.3 и Rails 3.0.3

Пример здесь:

it "should not be able to access 'destroy'" do
  delete :destroy
  response.should redirect_to(signin_path)
  flash[:error].should == "You must be signed in to view this page."
end

выдаст мне ошибку:

1) FriendshipsController when not logged in: should not be able to access 'destroy'
 Failure/Error: delete :destroy
 No route matches {:controller=>"friendships", :action=>"destroy"}
 # ./spec/controllers/friendships_controller_spec.rb:21:in `block (3 levels) in <top (required)>'

В моем файле rout.rb я сопоставил ресурсы для этого контроллера ...

resources :friendships

То же самое для

get :edit
get :show
put :update

Кажется, работает только один

post :create

Но это я не могу подтвердить на 100%.

Есть мысли? Спасибо за ваше время!

UPDATE:

get :new

также работает, и мой контроллер UserSessions (Authlogic), похоже, не страдает от этой проблемы. Ничего из того, что я могу сделать в контроллере, модели или тесте UserSessions, что я могу сказать.

1 Ответ

2 голосов
/ 21 декабря 2010

В спецификации попробуйте вызвать метод:

delete :destroy, :id => "1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...