Как проверить контроллер сессий НПЗ

Я переопределил контроллер сеанса 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

0 ответов

Другие вопросы по тегам