Monday, May 27, 2013

[Rails] Re: rspec rails 3 views authenticate

unknown wrote in post #1110178:
> First thing, there is a forum
> here:
> https://groups.google.com/forum/?fromgroups#!forum/plataformatec-devise
> for devise itself. and there you might get a better help for your
> question.
>
> but I googled around. something I assume you have done and it seems that
> login_user was a helper you had to redefine yourself. which does not
> really
> exist anymore, well, at least looking at the documentation of the devise
> test helpers.
>
> http://rubydoc.info/github/plataformatec/devise/master/Devise/TestHelpers
>
> so probably you should use factory girl
> (https://github.com/thoughtbot/factory_girl) to mock up a user and use
> the
> method on the documents called sign_in, something like:
>
> @user = Factory(:user)
>
> sign_in @user
>
> now I also recommend you to read a little bit more about testing in
> rails
> with rspec and factory_girl:
>
> for example to start with: http://railscasts.com/episodes/275-how-i-test
> and you can also google a little bit more by yourself!



Hi,
I created macros,
the code is as follows

module ControllerMacros
def login_admin
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:admin]
sign_in FactoryGirl.create(:admin) # Using factory girl as an
example
end
end

def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
@current_user = FactoryGirl.create(:user)
# user.confirm! # or set a confirmed_at inside the factory.
Only necessary if you are using the confirmable module
sign_in @current_user
end
end

def login_as_paid_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
@current_user = FactoryGirl.create(:user, :member_paid_monthly)
# user.confirm! # or set a confirmed_at inside the factory.
Only necessary if you are using the confirmable module
sign_in @current_user
end
end
def logout!
after(:each) do
session[:user]
end
end
end


its working in controller. The problem is with only views.

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/d97faea006240994e9ea78599473f045%40ruby-forum.com?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate