开发者

Stubbing Devise in rSpec and Rails3

开发者 https://www.devze.com 2023-01-09 16:24 出处:网络
How would you stub Devise in Rails 3 with rSpec. I have a UsersController and a User model. Both of which a开发者_运维问答re associated with Devise at the moment, I\'m writing controller specs and I r

How would you stub Devise in Rails 3 with rSpec. I have a UsersController and a User model. Both of which a开发者_运维问答re associated with Devise at the moment, I'm writing controller specs and I really am having a hard time with my expectations as the Devise sign_in is really jamming up the works.

Any thing will help.


I found that it is now pretty easy to do this. There was a problem with rspec2 and devise, but is now solved. I guess you would need to update your gems. Then you can write

require 'spec_helper'

describe DoStuffController do
  include Devise::TestHelpers

  before (:each) do
    @user = Factory.create(:user)
    sign_in @user
  end

  describe "GET 'index'" do
    it "should be successful" do
      get 'index'
      response.should be_success
    end
  end
end

[UPDATE] On the devise wiki there is now a detailed (and probably more up-to-date) description.


You can try mocking the underlying warden (https://github.com/wardencommunity/warden/wiki) object which devise relies upon, here is a link to some details on how you can accomplish this with RSpec: http://www.michaelharrison.ws/weblog/?p=349 (entry covers some other topics as well, the solution you want is towards the bottom of the page.)

0

精彩评论

暂无评论...
验证码 换一张
取 消