Added 3 year anniversary badge (#1732)
* Added 3 year anniversary badge * Fix linting error
This commit is contained in:
parent
54426ea20b
commit
1793956bdb
2 changed files with 26 additions and 1 deletions
|
|
@ -2,6 +2,7 @@ module BadgeRewarder
|
|||
def self.award_yearly_club_badges
|
||||
award_one_year_badges
|
||||
award_two_year_badges
|
||||
award_three_year_badges
|
||||
end
|
||||
|
||||
def self.award_beloved_comment_badges
|
||||
|
|
@ -97,4 +98,16 @@ module BadgeRewarder
|
|||
user.save if achievement.valid?
|
||||
end
|
||||
end
|
||||
|
||||
def self.award_three_year_badges
|
||||
message = "Happy DEV birthday! Can you believe it's been three years already?!"
|
||||
User.where("created_at < ? AND created_at > ?", 3.year.ago, 1097.days.ago).find_each do |user|
|
||||
achievement = BadgeAchievement.create(
|
||||
user_id: user.id,
|
||||
badge_id: Badge.find_by_slug("three-year-club").id,
|
||||
rewarding_context_message_markdown: message,
|
||||
)
|
||||
user.save if achievement.valid?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ RSpec.describe BadgeRewarder do
|
|||
expect(older_user.badge_achievements.size).to eq(0)
|
||||
end
|
||||
|
||||
it "rewards 2-year birthday badge to birthday folks who registered a year ago" do
|
||||
it "rewards 2-year birthday badge to birthday folks who registered 2 years ago" do
|
||||
user = create(:user, created_at: 731.days.ago)
|
||||
newer_user = create(:user, created_at: 6.days.ago)
|
||||
older_user = create(:user, created_at: 800.days.ago)
|
||||
|
|
@ -26,6 +26,18 @@ RSpec.describe BadgeRewarder do
|
|||
expect(older_user.badge_achievements.size).to eq(0)
|
||||
end
|
||||
|
||||
it "rewards 3-year birthday badge to birthday folks who registered 3 years ago" do
|
||||
user = create(:user, created_at: 1096.days.ago)
|
||||
newer_user = create(:user, created_at: 6.days.ago)
|
||||
older_user = create(:user, created_at: 1200.days.ago)
|
||||
create(:badge, title: "three-year-club")
|
||||
create(:badge, title: "heysddssdhey")
|
||||
described_class.award_yearly_club_badges
|
||||
expect(user.badge_achievements.size).to eq(1)
|
||||
expect(newer_user.badge_achievements.size).to eq(0)
|
||||
expect(older_user.badge_achievements.size).to eq(0)
|
||||
end
|
||||
|
||||
it "rewards beloved comment to folks who have a qualifying comment" do
|
||||
create(:badge, title: "Beloved comment", slug: "beloved-comment")
|
||||
comment = create(:comment, commentable: create(:article))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue