diff options
Diffstat (limited to 'spec/lib/gitlab/incoming_email_spec.rb')
-rw-r--r-- | spec/lib/gitlab/incoming_email_spec.rb | 99 |
1 files changed, 4 insertions, 95 deletions
diff --git a/spec/lib/gitlab/incoming_email_spec.rb b/spec/lib/gitlab/incoming_email_spec.rb index 1545de6d8fd..acd6634058f 100644 --- a/spec/lib/gitlab/incoming_email_spec.rb +++ b/spec/lib/gitlab/incoming_email_spec.rb @@ -1,87 +1,17 @@ # frozen_string_literal: true -require 'fast_spec_helper' +require 'spec_helper' RSpec.describe Gitlab::IncomingEmail do - describe "self.enabled?" do - context "when reply by email is enabled" do - before do - stub_incoming_email_setting(enabled: true) - end - - it 'returns true' do - expect(described_class.enabled?).to be(true) - end - end - - context "when reply by email is disabled" do - before do - stub_incoming_email_setting(enabled: false) - end + let(:setting_name) { :incoming_email } - it "returns false" do - expect(described_class.enabled?).to be(false) - end - end - end + it_behaves_like 'common email methods' - describe 'self.supports_wildcard?' do - context 'address contains the wildcard placeholder' do - before do - stub_incoming_email_setting(address: 'replies+%{key}@example.com') - end - - it 'confirms that wildcard is supported' do - expect(described_class.supports_wildcard?).to be(true) - end - end - - context "address doesn't contain the wildcard placeholder" do - before do - stub_incoming_email_setting(address: 'replies@example.com') - end - - it 'returns that wildcard is not supported' do - expect(described_class.supports_wildcard?).to be(false) - end - end - - context 'address is not set' do - before do - stub_incoming_email_setting(address: nil) - end - - it 'returns that wildcard is not supported' do - expect(described_class.supports_wildcard?).to be(false) - end - end - end - - context 'self.unsubscribe_address' do + describe 'self.key_from_address' do before do stub_incoming_email_setting(address: 'replies+%{key}@example.com') end - it 'returns the address with interpolated reply key and unsubscribe suffix' do - expect(described_class.unsubscribe_address('key')).to eq("replies+key#{Gitlab::IncomingEmail::UNSUBSCRIBE_SUFFIX}@example.com") - end - end - - context "self.reply_address" do - before do - stub_incoming_email_setting(address: "replies+%{key}@example.com") - end - - it "returns the address with an interpolated reply key" do - expect(described_class.reply_address("key")).to eq("replies+key@example.com") - end - end - - context "self.key_from_address" do - before do - stub_incoming_email_setting(address: "replies+%{key}@example.com") - end - it "returns reply key" do expect(described_class.key_from_address("replies+key@example.com")).to eq("key") end @@ -101,25 +31,4 @@ RSpec.describe Gitlab::IncomingEmail do end end end - - context 'self.key_from_fallback_message_id' do - it 'returns reply key' do - expect(described_class.key_from_fallback_message_id('reply-key@localhost')).to eq('key') - end - end - - context 'self.scan_fallback_references' do - let(:references) do - '<issue_1@localhost>' \ - ' <reply-59d8df8370b7e95c5a49fbf86aeb2c93@localhost>' \ - ',<exchange@microsoft.com>' - end - - it 'returns reply key' do - expect(described_class.scan_fallback_references(references)) - .to eq(%w[issue_1@localhost - reply-59d8df8370b7e95c5a49fbf86aeb2c93@localhost - exchange@microsoft.com]) - end - end end |