mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-31 19:17:48 +00:00
fix: Case insensitive email match (#6760)
Fixes: https://linear.app/chatwoot/issue/CW-1354/email-id-case-sensitive Co-authored-by: Sojan <sojan@pepalo.com>
This commit is contained in:
@@ -106,6 +106,10 @@ class User < ApplicationRecord
|
||||
|
||||
scope :order_by_full_name, -> { order('lower(name) ASC') }
|
||||
|
||||
before_validation do
|
||||
self.email = email.try(:downcase)
|
||||
end
|
||||
|
||||
def send_devise_notification(notification, *args)
|
||||
devise_mailer.with(account: Current.account).send(notification, self, *args).deliver_later
|
||||
end
|
||||
|
||||
@@ -115,6 +115,11 @@ RSpec.describe 'Platform Users API', type: :request do
|
||||
)
|
||||
)
|
||||
expect(platform_app.platform_app_permissibles.first.permissible_id).to eq data['id']
|
||||
|
||||
post '/platform/api/v1/users/', params: { name: 'test', email: 'TesT@test.com', password: 'Password1!' },
|
||||
headers: { api_access_token: platform_app.access_token.token }, as: :json
|
||||
data = JSON.parse(response.body)
|
||||
expect(data['message']).to eq('Email has already been taken')
|
||||
end
|
||||
|
||||
it 'fetch existing user and creates permissible for the user' do
|
||||
|
||||
@@ -89,4 +89,11 @@ RSpec.describe User do
|
||||
expect(user.will_save_change_to_email?).to be true
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the supplied email is uppercase' do
|
||||
it 'downcases the email on save' do
|
||||
new_user = create(:user, email: 'Test123@test.com')
|
||||
expect(new_user.email).to eq('test123@test.com')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user