From 1549a47088205bf35bf1d15cbddf2ff4ab238d47 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Thu, 27 Apr 2017 19:31:11 +1000 Subject: [PATCH] grant the users badges --- app/controllers/discourse_donations/charges_controller.rb | 4 ++++ .../discourse_donations/charges_controller_spec.rb | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/discourse_donations/charges_controller.rb b/app/controllers/discourse_donations/charges_controller.rb index e5a4822..2fae050 100644 --- a/app/controllers/discourse_donations/charges_controller.rb +++ b/app/controllers/discourse_donations/charges_controller.rb @@ -30,6 +30,10 @@ module DiscourseDonations store = PluginStore.get('discourse-donations', 'group:add') || [] PluginStore.set('discourse-donations', 'group:add', store << email) end + if badge_name.present? + store = PluginStore.get('discourse-donations', 'badge:grant') || [] + PluginStore.set('discourse-donations', 'badge:grant', store << email) + end end end diff --git a/spec/controllers/discourse_donations/charges_controller_spec.rb b/spec/controllers/discourse_donations/charges_controller_spec.rb index 870616c..ff0e7cd 100644 --- a/spec/controllers/discourse_donations/charges_controller_spec.rb +++ b/spec/controllers/discourse_donations/charges_controller_spec.rb @@ -49,13 +49,13 @@ module DiscourseDonations expect(response_rewards).to be_empty end - it 'stores the email in group:add' do + it 'stores the email in group:add and badge:grant' do PluginStore.expects(:get).with('discourse-donations', 'group:add').returns([]) PluginStore.expects(:set).with('discourse-donations', 'group:add', [params[:email]]) + PluginStore.expects(:get).with('discourse-donations', 'badge:grant').returns([]) + PluginStore.expects(:set).with('discourse-donations', 'badge:grant', [params[:email]]) post :create, params end - - it 'enqueues awarding a badge' end describe 'logged in user' do