Fix edge case for rewarding when unpublished (#3987)

This commit is contained in:
Andy Zhao 2019-09-09 12:33:50 -04:00 committed by Ben Halpern
parent 3a8a154e9e
commit c9a116db42
2 changed files with 2 additions and 2 deletions

View file

@ -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

View file

@ -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)