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:
Alex Gessner 2019-04-10 12:05:11 -04:00 committed by Eugen Rochko
parent 9e2a1f1838
commit 154106c0c3
2 changed files with 14 additions and 5 deletions

View file

@ -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)

View file

@ -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
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