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
|
setup do
|
||||||
@user = User.new
|
@user = User.new
|
||||||
|
@visitor = Visitor.new
|
||||||
end
|
end
|
||||||
|
|
||||||
test "blank password" do
|
test "blank password" do
|
||||||
@user.password = ''
|
@user.password = @visitor.password = ''
|
||||||
assert !@user.valid?, 'user should be invalid'
|
assert !@user.valid?(:create), 'user should be invalid'
|
||||||
|
assert @visitor.valid?(:create), 'visitor should be valid'
|
||||||
end
|
end
|
||||||
|
|
||||||
test "nil password" do
|
test "nil password" do
|
||||||
@user.password = nil
|
@user.password = @visitor.password = nil
|
||||||
assert !@user.valid?, 'user should be invalid'
|
assert !@user.valid?(:create), 'user should be invalid'
|
||||||
|
assert @visitor.valid?(:create), 'visitor should be valid'
|
||||||
end
|
end
|
||||||
|
|
||||||
test "blank password doesn't override previous password" do
|
test "blank password doesn't override previous password" do
|
||||||
@ -26,15 +29,16 @@ class SecurePasswordTest < ActiveModel::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "password must be present" do
|
test "password must be present" do
|
||||||
assert !@user.valid?
|
assert !@user.valid?(:create)
|
||||||
assert_equal 1, @user.errors.size
|
assert_equal 1, @user.errors.size
|
||||||
end
|
end
|
||||||
|
|
||||||
test "password must match confirmation" do
|
test "match confirmation" do
|
||||||
@user.password = "thiswillberight"
|
@user.password = @visitor.password = "thiswillberight"
|
||||||
@user.password_confirmation = "wrong"
|
@user.password_confirmation = @visitor.password_confirmation = "wrong"
|
||||||
|
|
||||||
assert !@user.valid?
|
assert !@user.valid?
|
||||||
|
assert @visitor.valid?
|
||||||
|
|
||||||
@user.password_confirmation = "thiswillberight"
|
@user.password_confirmation = "thiswillberight"
|
||||||
|
|
||||||
@ -59,4 +63,14 @@ class SecurePasswordTest < ActiveModel::TestCase
|
|||||||
assert !active_authorizer.include?(:password_digest)
|
assert !active_authorizer.include?(:password_digest)
|
||||||
assert active_authorizer.include?(:name)
|
assert active_authorizer.include?(:name)
|
||||||
end
|
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
|
end
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
class Administrator
|
class Administrator
|
||||||
|
extend ActiveModel::Callbacks
|
||||||
include ActiveModel::Validations
|
include ActiveModel::Validations
|
||||||
include ActiveModel::SecurePassword
|
include ActiveModel::SecurePassword
|
||||||
include ActiveModel::MassAssignmentSecurity
|
include ActiveModel::MassAssignmentSecurity
|
||||||
|
|
||||||
|
define_model_callbacks :create
|
||||||
|
|
||||||
attr_accessor :name, :password_digest
|
attr_accessor :name, :password_digest
|
||||||
attr_accessible :name
|
attr_accessible :name
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
class User
|
class User
|
||||||
|
extend ActiveModel::Callbacks
|
||||||
include ActiveModel::Validations
|
include ActiveModel::Validations
|
||||||
include ActiveModel::SecurePassword
|
include ActiveModel::SecurePassword
|
||||||
|
|
||||||
|
define_model_callbacks :create
|
||||||
|
|
||||||
has_secure_password
|
has_secure_password
|
||||||
|
|
||||||
attr_accessor :password_digest, :password_salt
|
attr_accessor :password_digest, :password_salt
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
class Visitor
|
class Visitor
|
||||||
|
extend ActiveModel::Callbacks
|
||||||
include ActiveModel::Validations
|
include ActiveModel::Validations
|
||||||
include ActiveModel::SecurePassword
|
include ActiveModel::SecurePassword
|
||||||
include ActiveModel::MassAssignmentSecurity
|
include ActiveModel::MassAssignmentSecurity
|
||||||
|
|
||||||
has_secure_password
|
define_model_callbacks :create
|
||||||
|
|
||||||
attr_accessor :password_digest
|
has_secure_password(validations: false)
|
||||||
|
|
||||||
|
attr_accessor :password_digest, :password_confirmation
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user