Browse Source

compare usernames case-insensitively on new proof creation flow (#10544)

* compare usernames case-insensitively on new proof creation flow

* Fix code style issue
pull/4/head
Alex Gessner 5 years ago
committed by Eugen Rochko
parent
commit
154106c0c3
2 changed files with 14 additions and 5 deletions
  1. +1
    -1
      app/controllers/settings/identity_proofs_controller.rb
  2. +13
    -4
      spec/controllers/settings/identity_proofs_controller_spec.rb

+ 1
- 1
app/controllers/settings/identity_proofs_controller.rb 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)

+ 13
- 4
spec/controllers/settings/identity_proofs_controller_spec.rb 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
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

Loading…
Cancel
Save