Skip to content

Instantly share code, notes, and snippets.

@ozgg
Created February 11, 2014 10:21
Show Gist options
  • Save ozgg/8932403 to your computer and use it in GitHub Desktop.
Save ozgg/8932403 to your computer and use it in GitHub Desktop.
Testing that object receives message
# controller
class UsersController < ApplicationController
def send_recovery
user = User.where(email: params[:email].to_s.downcase).first
if user.nil?
flash[:message] = t('email_not_found')
redirect_to recover_form_users_path
else
send_recovery_code user
redirect_to recover_users_path
end
end
private
def send_recovery_code(user)
code = user.password_recovery
CodeSender.password(code).deliver
end
end
# spec
describe UsersController do
context "post recover with existing email" do
let(:user) { create(:confirmed_user) }
before(:each) { post :send_recovery, email: user.email }
it "sends password_recovery to user object" do
expect(user).to receive(:password_recovery)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment