mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-30 18:47:51 +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
	 Tejaswini Chile
					Tejaswini Chile