discourse/plugins/discourse-narrative-bot/spec/jobs/onceoff/grant_badges_spec.rb

30 lines
748 B
Ruby

# frozen_string_literal: true
RSpec.describe Jobs::DiscourseNarrativeBot::GrantBadges do
let(:user) { Fabricate(:user) }
let(:other_user) { Fabricate(:user) }
before do
DiscourseNarrativeBot::Store.set(
user.id,
completed: [
DiscourseNarrativeBot::NewUserNarrative.to_s,
DiscourseNarrativeBot::AdvancedUserNarrative.to_s,
],
)
end
it "should grant the right badges" do
described_class.new.execute_onceoff({})
expect(user.badges.count).to eq(2)
expect(user.badges.map(&:name)).to contain_exactly(
DiscourseNarrativeBot::NewUserNarrative.badge_name,
DiscourseNarrativeBot::AdvancedUserNarrative.badge_name,
)
expect(other_user.badges.count).to eq(0)
end
end