discourse-chat-integration/spec/jobs/regular/notify_chats_spec.rb

52 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe PostCreator do
2018-06-07 20:57:43 -04:00
let(:topic) { Fabricate(:post).topic }
before do
Jobs::NotifyChats.jobs.clear
end
describe 'when a post is created' do
describe 'when plugin is enabled' do
before do
SiteSetting.chat_integration_enabled = true
end
it 'should schedule a chat notification job' do
freeze_time Time.now.beginning_of_day
2017-08-01 15:53:39 -04:00
2017-07-25 17:14:32 -04:00
post = PostCreator.new(topic.user,
raw: 'Some post content',
topic_id: topic.id
).create!
2017-07-25 17:14:32 -04:00
job = Jobs::NotifyChats.jobs.last
2017-07-25 17:14:32 -04:00
expect(job['at'])
.to eq(Time.now.to_f + SiteSetting.chat_integration_delay_seconds.seconds.to_f)
2017-07-25 17:14:32 -04:00
expect(job['args'].first['post_id']).to eq(post.id)
2017-08-01 15:53:39 -04:00
end
end
describe 'when plugin is not enabled' do
before do
SiteSetting.chat_integration_enabled = false
end
it 'should not schedule a job for chat notifications' do
PostCreator.new(topic.user,
raw: 'Some post content',
topic_id: topic.id
).create!
expect(Jobs::NotifyChats.jobs).to eq([])
end
end
end
end