27 lines
722 B
Ruby
27 lines
722 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
|