Тестирование Rspec контроллера с Devise не может проверить перенаправление - PullRequest
0 голосов
/ 29 января 2019

Я просто пытаюсь проверить, что :user, который не вошел в систему, будет перенаправлен на new_user_session_path, когда они попытаются получить доступ к тому, чего не могут.

Когда я звоню:

describe "GET new" do 
    it 'expects redirect unless admin' do
        get :new
        expect(response).to redirect_to(new_user_session_path)
    end
end

Я получаю следующую ошибку:

1) MealsController GET new expects redirect unless admin
     Failure/Error: redirect_to new_user_session_path, alert: "You must be signed in to access this page."

     NameError:
       undefined local variable or method `new_user_session_path' for #<MealsController:0x007fa066d5d230>
       Did you mean?  new_user_invitation_path

Почему это происходит?

Редактировать: Вот мои маршруты пользователя:

new_user_session GET    /users/sign_in(.:format)                                                                 sessions#new
              user_session POST   /users/sign_in(.:format)                                                                 sessions#create
      destroy_user_session DELETE /users/sign_out(.:format)                                                                sessions#destroy
         new_user_password GET    /users/password/new(.:format)                                                            devise/passwords#new
        edit_user_password GET    /users/password/edit(.:format)                                                           devise/passwords#edit
             user_password PATCH  /users/password(.:format)                                                                devise/passwords#update
                           PUT    /users/password(.:format)                                                                devise/passwords#update
                           POST   /users/password(.:format)                                                                devise/passwords#create
    accept_user_invitation GET    /users/invitation/accept(.:format)                                                       devise/invitations#edit
    remove_user_invitation GET    /users/invitation/remove(.:format)                                                       devise/invitations#destroy
       new_user_invitation GET    /users/invitation/new(.:format)                                                          devise/invitations#new
           user_invitation PATCH  /users/invitation(.:format)                                                              devise/invitations#update
                           PUT    /users/invitation(.:format)                                                              devise/invitations#update
                           POST   /users/invitation(.:format)                                                              devise/invitations#create
    edit_user_registration GET    /users/edit(.:format)                                                                    devise/registrations#edit
         user_registration PUT    /users(.:format)                                                                         devise/registrations#update
...