Skip to content

Instantly share code, notes, and snippets.

@7even
Forked from ozgg/message-test
Last active August 29, 2015 13:56
Show Gist options
  • Save 7even/8933306 to your computer and use it in GitHub Desktop.
Save 7even/8933306 to your computer and use it in GitHub Desktop.
# controller
class UsersController < ApplicationController
def send_recovery
user = User.find_by(email: params[:email].to_s.downcase)
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) }
it "sends password_recovery to user object" do
expect(User).to receive(:find_by).with(email: user.email).and_return(user)
post :send_recovery, email: user.email
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