2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-05-24 13:50:20 +08:00
|
|
|
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)
|
|
|
|
|
2017-06-08 04:47:44 +08:00
|
|
|
expect(user.badges.map(&:name)).to contain_exactly(
|
2020-04-10 10:46:51 +08:00
|
|
|
DiscourseNarrativeBot::NewUserNarrative.badge_name,
|
|
|
|
DiscourseNarrativeBot::AdvancedUserNarrative.badge_name,
|
2017-06-08 04:47:44 +08:00
|
|
|
)
|
2017-05-24 13:50:20 +08:00
|
|
|
|
|
|
|
expect(other_user.badges.count).to eq(0)
|
|
|
|
end
|
|
|
|
end
|