mirror of
https://github.com/discourse/discourse.git
synced 2024-12-20 00:03:55 +08:00
24 lines
702 B
Ruby
24 lines
702 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
describe "UserBadgeGranted" do
|
||
|
fab!(:user)
|
||
|
fab!(:tracked_badge) { Fabricate(:badge) }
|
||
|
fab!(:automation) do
|
||
|
Fabricate(:automation, trigger: DiscourseAutomation::Triggers::USER_BADGE_GRANTED)
|
||
|
end
|
||
|
|
||
|
before do
|
||
|
SiteSetting.discourse_automation_enabled = true
|
||
|
automation.upsert_field!("badge", "choices", { value: tracked_badge.id }, target: "trigger")
|
||
|
end
|
||
|
|
||
|
context "when a badge is granted" do
|
||
|
it "fires the trigger" do
|
||
|
contexts = capture_contexts { BadgeGranter.grant(tracked_badge, user) }
|
||
|
|
||
|
expect(contexts.length).to eq(1)
|
||
|
expect(contexts[0]["kind"]).to eq(DiscourseAutomation::Triggers::USER_BADGE_GRANTED)
|
||
|
end
|
||
|
end
|
||
|
end
|