compare usernames case-insensitively on new proof creation flow (#10544)
* compare usernames case-insensitively on new proof creation flow * Fix code style issue
This commit is contained in:
		
							parent
							
								
									9e2a1f1838
								
							
						
					
					
						commit
						154106c0c3
					
				
					 2 changed files with 14 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -18,7 +18,7 @@ class Settings::IdentityProofsController < Settings::BaseController
 | 
			
		|||
      provider_username: params[:provider_username]
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    if current_account.username == params[:username]
 | 
			
		||||
    if current_account.username.casecmp(params[:username]).zero?
 | 
			
		||||
      render layout: 'auth'
 | 
			
		||||
    else
 | 
			
		||||
      flash[:alert] = I18n.t('identity_proofs.errors.wrong_user', proving: params[:username], current: current_account.username)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,11 +28,11 @@ describe Settings::IdentityProofsController do
 | 
			
		|||
 | 
			
		||||
  describe 'new proof creation' do
 | 
			
		||||
    context 'GET #new' do
 | 
			
		||||
      context 'with all of the correct params' do
 | 
			
		||||
        before do
 | 
			
		||||
          allow_any_instance_of(ProofProvider::Keybase::Badge).to receive(:avatar_url) { full_pack_url('media/images/void.png') }
 | 
			
		||||
        end
 | 
			
		||||
      before do
 | 
			
		||||
        allow_any_instance_of(ProofProvider::Keybase::Badge).to receive(:avatar_url) { full_pack_url('media/images/void.png') }
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'with all of the correct params' do
 | 
			
		||||
        it 'renders the template' do
 | 
			
		||||
          get :new, params: new_proof_params
 | 
			
		||||
          expect(response).to render_template(:new)
 | 
			
		||||
| 
						 | 
				
			
			@ -54,6 +54,15 @@ describe Settings::IdentityProofsController do
 | 
			
		|||
          expect(flash[:alert]).to eq I18n.t('identity_proofs.errors.wrong_user', proving: 'someone_else', current: user.account.username)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'with params to prove the same username cased differently' do
 | 
			
		||||
        let(:capitalized_username) { new_proof_params.merge(username: user.account.username.upcase) }
 | 
			
		||||
 | 
			
		||||
        it 'renders the new template' do
 | 
			
		||||
          get :new, params: capitalized_username
 | 
			
		||||
          expect(response).to render_template(:new)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'POST #create' do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue