diff --git a/app/controllers/discourse_donations/charges_controller.rb b/app/controllers/discourse_donations/charges_controller.rb index 8cb9f90..c7a04f8 100644 --- a/app/controllers/discourse_donations/charges_controller.rb +++ b/app/controllers/discourse_donations/charges_controller.rb @@ -14,9 +14,12 @@ module DiscourseDonations response = {} end + response['rewards'] = [] + if reward_user?(payment) reward = DiscourseDonations::Rewards.new(current_user) - reward.add_to_group(SiteSetting.discourse_donations_reward_group) if add_to_group? + group_name = SiteSetting.discourse_donations_reward_group + reward.add_to_group(group_name) if group_name.present? end render :json => response @@ -28,10 +31,6 @@ module DiscourseDonations payment.present? && payment.successful? && current_user.present? end - def add_to_group? - SiteSetting.discourse_donations_reward_group.present? - end - def secret_key SiteSetting.discourse_donations_secret_key end diff --git a/spec/controllers/discourse_donations/charges_controller_spec.rb b/spec/controllers/discourse_donations/charges_controller_spec.rb index 35398ff..978c23b 100644 --- a/spec/controllers/discourse_donations/charges_controller_spec.rb +++ b/spec/controllers/discourse_donations/charges_controller_spec.rb @@ -26,5 +26,11 @@ module DiscourseDonations post :create expect(response).to have_http_status(200) end + + it 'has no rewards' do + current_user = log_in(:coding_horror) + post :create + expect(JSON.parse(response.body)['rewards']).to eq([]) + end end end diff --git a/spec/services/discourse_donations/rewards_spec.rb b/spec/services/discourse_donations/rewards_spec.rb index 2155dc1..7c40afa 100644 --- a/spec/services/discourse_donations/rewards_spec.rb +++ b/spec/services/discourse_donations/rewards_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' module DiscourseDonations RSpec.describe DiscourseDonations::Rewards do - let(:grp) { Fabricate(:group, name: 'w00t') } + let(:grp) { Fabricate(:group) } let(:user) { Fabricate(:user) } subject { described_class.new(user) }