Как проверить контроллер сессий НПЗ
Я переопределил контроллер сеанса Refinery и даже не изменил его, так как пытаюсь написать некоторые спецификации для него.
Контроллер живет в app / controllers / refinery / session_controller:
module Refinery
class SessionsController < Devise::SessionsController
....
def create
super
rescue ::BCrypt::Errors::InvalidSalt, ::BCrypt::Errors::InvalidHash
flash[:error] = t('password_encryption', :scope => 'refinery.users.forgot')
redirect_to refinery.new_refinery_user_password_path
end
.....
Затем я пытаюсь написать спецификацию против этого в spec / controllers / refinery / session_controller_spec.rb:
require 'spec_helper'
describe Refinery::SessionsController do
it "should post ok" do
post :create
response.should be_success
end
end
Однако это дает мне ошибку
No route matches {:action=>"create", :controller=>"refinery/sessions"}
Это смущает меня, так как когда я запускаю рейк-маршруты, я получаю следующую строку:
refinery_user_session POST /refinery/users/login(.:format) refinery/sessions#create
Кто-нибудь может помочь?
Рельсы 3.2.8, НПЗ 2.0.8