From 219444eab2bfd39d4fa9439903b209f5f63a49c2 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Thu, 27 Apr 2017 18:47:27 +1000 Subject: [PATCH] empty badge grant job --- app/jobs/award_group.rb | 2 +- app/jobs/grant_badge.rb | 10 ++++++++++ plugin.rb | 1 + spec/jobs/grant_badge_spec.rb | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 app/jobs/grant_badge.rb create mode 100644 spec/jobs/grant_badge_spec.rb diff --git a/app/jobs/award_group.rb b/app/jobs/award_group.rb index 6ef1922..4094378 100644 --- a/app/jobs/award_group.rb +++ b/app/jobs/award_group.rb @@ -4,7 +4,7 @@ module Jobs every 1.minutes def execute(_args) - puts '====================== The Job was executed ===========================' + puts '====================== The Award Group Job was executed ===========================' user_queue.each do |email| user = User.find_by_email(email) DiscourseDonations::Rewards.new(user).add_to_group(group_name) if user.present? diff --git a/app/jobs/grant_badge.rb b/app/jobs/grant_badge.rb new file mode 100644 index 0000000..38b9fb1 --- /dev/null +++ b/app/jobs/grant_badge.rb @@ -0,0 +1,10 @@ + +module Jobs + class GrantBadge < ::Jobs::Scheduled + every 5.minutes + + def execute(_args) + puts '====================== The Grant Badge Job was executed ===========================' + end + end +end diff --git a/plugin.rb b/plugin.rb index 32aedaf..3143b80 100644 --- a/plugin.rb +++ b/plugin.rb @@ -12,6 +12,7 @@ enabled_site_setting :discourse_donations_enabled after_initialize do load File.expand_path('../app/jobs/award_group.rb', __FILE__) + load File.expand_path('../app/jobs/grant_badge.rb', __FILE__) # Must be placed on every page for fraud protection. header_script = '' diff --git a/spec/jobs/grant_badge_spec.rb b/spec/jobs/grant_badge_spec.rb new file mode 100644 index 0000000..8c90dac --- /dev/null +++ b/spec/jobs/grant_badge_spec.rb @@ -0,0 +1,11 @@ + +RSpec.describe Jobs::GrantBadge, type: :job do + let(:users) { [Fabricate(:user), Fabricate(:user)] } + let(:badge) { Fabricate(:badge, name: 'el-grande') } + + before do + SiteSetting.stubs(:discourse_donations_reward_badge_name).returns(badge.name) + end + + it 'grants all the users the badge' +end