0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-07 13:19:19 +08:00
discourse/plugins/discourse-reactions/spec/services/badge_granter_spec.rb
Jarek Radosz 52e872961a
DEV: Clean up requires (#34946)
1. remove unnecessary `.rb` filename suffixes from `require_relative`
calls
2. replace `require File.expand_path(File.dirname(__FILE__) + …` with
`require_relative`
3. remove `./` prefixes from `require_relative` calls
2025-09-24 12:00:22 +02:00

44 lines
1 KiB
Ruby
Vendored

# frozen_string_literal: true
require_relative "../fabricators/reaction_fabricator"
require_relative "../fabricators/reaction_user_fabricator"
describe BadgeGranter do
fab!(:user)
fab!(:post)
fab!(:reaction) { Fabricate(:reaction, post: post) }
fab!(:reaction_user) { Fabricate(:reaction_user, reaction: reaction, user: user, post: post) }
let(:badge) { Badge.find_by(name: "First Reaction") }
before do
SiteSetting.discourse_reactions_enabled = true
BadgeGranter.enable_queue
end
after do
BadgeGranter.disable_queue
BadgeGranter.clear_queue!
end
describe "First Reaction" do
it "badge is available" do
expect(badge).not_to eq(nil)
end
it "badge query is not broken" do
backfill = BadgeGranter.backfill(badge)
expect(backfill).to eq(true)
end
it "can backfill the badge" do
UserBadge.destroy_all
BadgeGranter.backfill(badge)
b = UserBadge.find_by(user_id: user.id)
expect(b.post_id).to eq(post.id)
expect(b.badge_id).to eq(badge.id)
end
end
end