Ожидаемый ответ: <: redirect>, но был <200> - PullRequest
3 голосов
/ 03 октября 2011

У меня проблема с тестами rspec, и, просмотрев предыдущие вопросы, я не смог ее решить. Тест не пройден с вышеуказанной ошибкой, но код работает на практике, кто-нибудь знает, как решить эту проблему?

Rspec:

describe "authentication of edit/update pages" do

    before(:each) do
        @user = Factory(:user)
    end

    describe "for non-signed in users" do
        it "should deny access to 'edit'" do
            get :edit, :id => @user
            response.should redirect_to(signin_path)
        end

        it "should deny access to 'update'" do
            put :update, :id => @user, :user => {}
            response.should redirect_to(signin_path)
        end
    end
end

Помощник по сессиям:

def deny_access
    redirect_to signin_path, :notice => "Please sign in to access this page."
end

Пользовательский контроллер

class UsersController < ApplicationController
before_filter :authenticate, :only => [:edit, :update]
  private
    def authenticate
        deny_access unless signed_in?
    end
end

1 Ответ

2 голосов
/ 03 октября 2011

Полагаю, вам следует немного изменить свой код:

def deny_access
  redirect_to signin_path, :notice => "Please sign in to access this page." and return
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...