Skip to content
Permalink
Browse files

FIX: Update featured badge ranking when mass-awarding badges

Follow-up to cff6e94
  • Loading branch information
davidtaylorhq committed Jan 14, 2020
1 parent cff6e94 commit 4fdfc2665d4d6b892e59e6c412b82d9d9894c6d9
Showing with 13 additions and 0 deletions.
  1. +2 −0 app/services/badge_granter.rb
  2. +11 −0 spec/jobs/mass_award_badge_spec.rb
@@ -28,6 +28,8 @@ def self.mass_grant(badge, users)
user_id: user.id,
badge_id: badge.id
)

UserBadge.update_featured_ranks!(user.id)
end
end

@@ -28,5 +28,16 @@
expect(Notification.exists?(user: user)).to eq(true)
expect(UserBadge.where.not(notification_id: nil).exists?(user: user, badge: badge)).to eq(true)
end

it 'updates badge ranks correctly' do
user_2 = Fabricate(:user)

UserBadge.create!(badge_id: Badge::Member, user: user, granted_by: Discourse.system_user, granted_at: Time.now)

subject.execute(user_emails: [user.email, user_2.email], badge_id: badge.id)

expect(UserBadge.find_by(user: user, badge: badge).featured_rank).to eq(2)
expect(UserBadge.find_by(user: user_2, badge: badge).featured_rank).to eq(1)
end
end
end

0 comments on commit 4fdfc26

Please sign in to comment.
You can’t perform that action at this time.