From c9a116db420401cc75cd8811b157c79dce431c3e Mon Sep 17 00:00:00 2001 From: Andy Zhao Date: Mon, 9 Sep 2019 12:33:50 -0400 Subject: [PATCH] Fix edge case for rewarding when unpublished (#3987) --- app/labor/badge_rewarder.rb | 2 +- spec/labor/badge_rewarder_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/labor/badge_rewarder.rb b/app/labor/badge_rewarder.rb index 293dbcc55..1bc584e44 100644 --- a/app/labor/badge_rewarder.rb +++ b/app/labor/badge_rewarder.rb @@ -87,7 +87,7 @@ module BadgeRewarder count = 0 num_weeks.times do |i| num = i + 1 - count += 1 if user.articles.where("published_at > ? AND published_at < ?", num.weeks.ago, (num - 1).weeks.ago).any? + count += 1 if user.articles.published.where("published_at > ? AND published_at < ?", num.weeks.ago, (num - 1).weeks.ago).any? end usernames << user.username if count >= num_weeks end diff --git a/spec/labor/badge_rewarder_spec.rb b/spec/labor/badge_rewarder_spec.rb index 2ce4103e6..76e25c895 100644 --- a/spec/labor/badge_rewarder_spec.rb +++ b/spec/labor/badge_rewarder_spec.rb @@ -88,7 +88,7 @@ RSpec.describe BadgeRewarder do expect(user.badges.size).to eq(1) end - it "does not reward beloved comment to non-qualifying comment" do + it "does not reward the badge to not qualified users" do create(:badge, title: "4 Week Streak", slug: "4-week-streak") user = create(:user) create(:article, user: user, published: true, published_at: 26.days.ago)