Updated tests for has_secure_password.
This commit is contained in:
parent
0e1e527654
commit
f021377358
@ -7,16 +7,19 @@ class SecurePasswordTest < ActiveModel::TestCase
|
||||
|
||||
setup do
|
||||
@user = User.new
|
||||
@visitor = Visitor.new
|
||||
end
|
||||
|
||||
test "blank password" do
|
||||
@user.password = ''
|
||||
assert !@user.valid?, 'user should be invalid'
|
||||
@user.password = @visitor.password = ''
|
||||
assert !@user.valid?(:create), 'user should be invalid'
|
||||
assert @visitor.valid?(:create), 'visitor should be valid'
|
||||
end
|
||||
|
||||
test "nil password" do
|
||||
@user.password = nil
|
||||
assert !@user.valid?, 'user should be invalid'
|
||||
@user.password = @visitor.password = nil
|
||||
assert !@user.valid?(:create), 'user should be invalid'
|
||||
assert @visitor.valid?(:create), 'visitor should be valid'
|
||||
end
|
||||
|
||||
test "blank password doesn't override previous password" do
|
||||
@ -26,15 +29,16 @@ class SecurePasswordTest < ActiveModel::TestCase
|
||||
end
|
||||
|
||||
test "password must be present" do
|
||||
assert !@user.valid?
|
||||
assert !@user.valid?(:create)
|
||||
assert_equal 1, @user.errors.size
|
||||
end
|
||||
|
||||
test "password must match confirmation" do
|
||||
@user.password = "thiswillberight"
|
||||
@user.password_confirmation = "wrong"
|
||||
test "match confirmation" do
|
||||
@user.password = @visitor.password = "thiswillberight"
|
||||
@user.password_confirmation = @visitor.password_confirmation = "wrong"
|
||||
|
||||
assert !@user.valid?
|
||||
assert @visitor.valid?
|
||||
|
||||
@user.password_confirmation = "thiswillberight"
|
||||
|
||||
@ -59,4 +63,14 @@ class SecurePasswordTest < ActiveModel::TestCase
|
||||
assert !active_authorizer.include?(:password_digest)
|
||||
assert active_authorizer.include?(:name)
|
||||
end
|
||||
|
||||
test "User should not be created with blank digest" do
|
||||
assert_raise RuntimeError do
|
||||
@user.run_callbacks :create
|
||||
end
|
||||
@user.password = "supersecretpassword"
|
||||
assert_nothing_raised do
|
||||
@user.run_callbacks :create
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,7 +1,10 @@
|
||||
class Administrator
|
||||
extend ActiveModel::Callbacks
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::SecurePassword
|
||||
include ActiveModel::MassAssignmentSecurity
|
||||
|
||||
define_model_callbacks :create
|
||||
|
||||
attr_accessor :name, :password_digest
|
||||
attr_accessible :name
|
||||
|
@ -1,6 +1,9 @@
|
||||
class User
|
||||
extend ActiveModel::Callbacks
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::SecurePassword
|
||||
|
||||
define_model_callbacks :create
|
||||
|
||||
has_secure_password
|
||||
|
||||
|
@ -1,9 +1,12 @@
|
||||
class Visitor
|
||||
extend ActiveModel::Callbacks
|
||||
include ActiveModel::Validations
|
||||
include ActiveModel::SecurePassword
|
||||
include ActiveModel::MassAssignmentSecurity
|
||||
|
||||
define_model_callbacks :create
|
||||
|
||||
has_secure_password
|
||||
has_secure_password(validations: false)
|
||||
|
||||
attr_accessor :password_digest
|
||||
attr_accessor :password_digest, :password_confirmation
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user