diff --git a/app/controllers/discourse_donations/charges_controller.rb b/app/controllers/discourse_donations/charges_controller.rb index df91aeb..8cf51f2 100644 --- a/app/controllers/discourse_donations/charges_controller.rb +++ b/app/controllers/discourse_donations/charges_controller.rb @@ -7,7 +7,7 @@ module DiscourseDonations skip_before_filter :verify_authenticity_token, only: [:create] def create - if email.nil? + if email.nil? || email.empty? response = {'message' => 'Please enter your email address'} elsif create_account && params[:username].nil? response = {'message' => 'Please enter a username'} diff --git a/spec/controllers/discourse_donations/charges_controller_spec.rb b/spec/controllers/discourse_donations/charges_controller_spec.rb index a6a73c1..2153aed 100644 --- a/spec/controllers/discourse_donations/charges_controller_spec.rb +++ b/spec/controllers/discourse_donations/charges_controller_spec.rb @@ -17,7 +17,13 @@ module DiscourseDonations end it 'responds ok when the email is empty' do - post :create, { } + post :create, { create_account: 'true', email: '' } + expect(body['message']).to eq('Please enter your email address') + expect(response).to have_http_status(200) + end + + it 'responds ok when the email is empty' do + post :create, { create_account: 'false' } expect(body['message']).to eq('Please enter your email address') expect(response).to have_http_status(200) end