discourse/plugins/discourse-narrative-bot/spec/jobs/send_default_welcome_messag...

47 lines
1.3 KiB
Ruby

# frozen_string_literal: true
RSpec.describe Jobs::SendDefaultWelcomeMessage do
let(:user) { Fabricate(:user) }
it 'should send the right welcome message' do
described_class.new.execute(user_id: user.id)
topic = Topic.last
expect(topic.title).to eq(I18n.t(
"system_messages.welcome_user.subject_template",
site_name: SiteSetting.title
))
expect(topic.first_post.raw).to eq(I18n.t(
"system_messages.welcome_user.text_body_template",
SystemMessage.new(user).defaults
).chomp)
expect(topic.closed).to eq(true)
end
describe 'for an invited user' do
let(:invite) { Fabricate(:invite, email: 'foo@bar.com') }
let(:invited_user) { Fabricate(:invited_user, invite: invite, user: Fabricate(:user, email: 'foo@bar.com'), redeemed_at: Time.zone.now) }
it 'should send the right welcome message' do
described_class.new.execute(user_id: invited_user.user_id)
topic = Topic.last
expect(topic.title).to eq(I18n.t(
"system_messages.welcome_invite.subject_template",
site_name: SiteSetting.title
))
expect(topic.first_post.raw).to eq(I18n.t(
"system_messages.welcome_invite.text_body_template",
SystemMessage.new(invited_user.user).defaults
).chomp)
expect(topic.closed).to eq(true)
end
end
end