# 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