heartcombo--devise/test/rails_app/lib/shared_user_without_email.rb

27 lines
966 B
Ruby

module SharedUserWithoutEmail
extend ActiveSupport::Concern
included do
# NOTE: This is missing :validatable and :confirmable, as they both require
# an email field at the moment. It is also missing :omniauthable because that
# adds unnecessary complexity to the setup
devise :database_authenticatable, :lockable, :recoverable,
:registerable, :rememberable, :timeoutable,
:trackable
end
# This test stub is a bit rubbish because it's tied very closely to the
# implementation where we care about this one case. However, completely
# removing the email field breaks "recoverable" tests completely, so we are
# just taking the approach here that "email" is something that is a not an
# ActiveRecord field.
def email_changed?
raise NoMethodError
end
def respond_to?(method_name, include_all=false)
return false if method_name.to_sym == :email_changed?
super(method_name, include_all)
end
end