diff options
Diffstat (limited to 'spec/lib/system_check/incoming_email_check_spec.rb')
-rw-r--r-- | spec/lib/system_check/incoming_email_check_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/lib/system_check/incoming_email_check_spec.rb b/spec/lib/system_check/incoming_email_check_spec.rb new file mode 100644 index 00000000000..710702b93fc --- /dev/null +++ b/spec/lib/system_check/incoming_email_check_spec.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe SystemCheck::IncomingEmailCheck do + before do + allow(Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new('production')) + end + + describe '#multi_check' do + context 'when incoming e-mail is disabled' do + before do + stub_incoming_email_setting(enabled: false) + end + + it 'does not run any checks' do + expect(SystemCheck).not_to receive(:run) + + subject.multi_check + end + end + + context 'when incoming e-mail is enabled for IMAP' do + before do + stub_incoming_email_setting(enabled: true) + end + + it 'runs IMAP and mailroom checks' do + expect(SystemCheck).to receive(:run).with('Reply by email', [ + SystemCheck::IncomingEmail::ImapAuthenticationCheck, + SystemCheck::IncomingEmail::InitdConfiguredCheck, + SystemCheck::IncomingEmail::MailRoomRunningCheck + ]) + + subject.multi_check + end + end + + context 'when incoming e-mail is enabled for Microsoft Graph' do + before do + stub_incoming_email_setting(enabled: true, inbox_method: 'microsoft_graph') + end + + it 'runs mailroom checks' do + expect(SystemCheck).to receive(:run).with('Reply by email', [ + SystemCheck::IncomingEmail::InitdConfiguredCheck, + SystemCheck::IncomingEmail::MailRoomRunningCheck + ]) + + subject.multi_check + end + end + end +end |