forked from External/greenlight
GRN-46: Scoped user email uniqueness validation (#342)
* Scoped user email uniqueness validation * Scoped user email uniqueness validation * Scoped user email uniqueness validation * Extended User test for check email scope
This commit is contained in:
parent
e915aba9db
commit
4d9d0ebb97
|
@ -30,7 +30,7 @@ class User < ApplicationRecord
|
|||
validates :provider, presence: true
|
||||
validates :image, format: { with: /\.(png|jpg)\Z/i }, allow_blank: true
|
||||
validates :email, length: { maximum: 256 }, allow_blank: true,
|
||||
uniqueness: { case_sensitive: false },
|
||||
uniqueness: { case_sensitive: false, scope: :provider },
|
||||
format: { with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i }
|
||||
|
||||
validates :password, length: { minimum: 6 }, confirmation: true, if: :greenlight_account?, on: :create
|
||||
|
|
|
@ -29,7 +29,7 @@ describe User, type: :model do
|
|||
|
||||
it { should validate_presence_of(:provider) }
|
||||
|
||||
it { should validate_uniqueness_of(:email).case_insensitive }
|
||||
it { should validate_uniqueness_of(:email).scoped_to(:provider).case_insensitive }
|
||||
it { should validate_length_of(:email).is_at_most(256) }
|
||||
it { should allow_value("", nil).for(:email) }
|
||||
it { should allow_value("valid@email.com").for(:email) }
|
||||
|
|
Loading…
Reference in New Issue