[rspec-users] Testing Controllers in Rspec

ruby rails lists at ruby-forum.com
Wed Feb 27 13:18:50 UTC 2013

I am building an Rails application where the forgot password feature is
implemented. I need to write the test cases for it using RSpec. I am
very new to RSPEC and got the basic idea of how rspec works from the
tutorial and screencasts. But I am not sure how it can be tested for
controllers. In my controller method if i am retrieving a user from
database, then how would I test it using rspec. Do I give dummy data for
testing rspec.?? Please find the example below.

In Usercontroller.rb

def forgot_pass

user = User.find_by_email(params[:email])
forget_pass = ForgetPassword.new
forgetpass.userid = user.email
forgetpass.status = true
redirect_to login_url


In my password_reset_spec

require 'spec_helper' describe "PasswordResets" do it "emails when user
requesting password reset" do user=User.new forget_pwd =
ForgetPassword.new #forget_pwd.userid.should == "pradeep"
#forget_pwd.token.should == "123456" forget_pwd.userkey = "14dd" visit
auth_index_path click_link "Forgot Password" fill_in "Email", :with=>
'pradeep83.achu at gmail.com' click_button "Submit" current_path.should
eq(login_path) page.should have_content("A verification mail has been
sent to your email id. Click on the confirmation link to change the
password") last_email.to.should include('pradeep83.achu at gmail.com') end

In the test how do I test whether the user exists and assign the
attributes. In my case, user = User.find_by_email(params[:email])
forgetpass.userid = user.email

Please help as I am newbie in Rspec

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

More information about the rspec-users mailing list