Commit c4245e1b authored by Douwe Maan's avatar Douwe Maan

Merge branch 'issue_2160' into 'master'

Check if incoming emails and email key are available for service desk

Closes #2160

See merge request !1690
parents c5a2cd88 c92e09ec
......@@ -36,8 +36,9 @@ module EE
private
def service_desk_available?
@service_desk_available ||=
EE::Gitlab::ServiceDesk.enabled? && service_desk_enabled?
return @service_desk_available if defined?(@service_desk_available)
@service_desk_available = EE::Gitlab::ServiceDesk.enabled? && service_desk_enabled?
end
end
end
---
title: Check if incoming emails and email key are available for service desk
merge_request:
author:
......@@ -2,7 +2,10 @@ module EE
module Gitlab
module ServiceDesk
def self.enabled?
::License.current && ::License.current.add_on?('GitLab_ServiceDesk')
::License.current &&
::License.current.add_on?('GitLab_ServiceDesk') &&
::Gitlab::IncomingEmail.enabled? &&
::Gitlab::IncomingEmail.supports_wildcard?
end
end
end
......
......@@ -7,6 +7,8 @@ describe Projects::ServiceDeskController do
before do
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
project.update(service_desk_enabled: true)
project.add_master(user)
sign_in(user)
......
......@@ -11,6 +11,8 @@ describe 'Service Desk Setting', js: true, feature: true do
login_as(user)
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
visit edit_namespace_project_path(project.namespace, project)
end
......
require 'spec_helper'
describe EE::Gitlab::ServiceDesk, lib: true do
before do
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
end
subject { described_class.enabled? }
it { is_expected.to be_truthy }
context 'when license does not support service desk' do
before do
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { false }
end
it { is_expected.to be_falsy }
end
context 'when incoming emails are disabled' do
before do
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { false }
end
it { is_expected.to be_falsy }
end
context 'when email key is not supported' do
before do
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { false }
end
it { is_expected.to be_falsy }
end
end
......@@ -21,6 +21,8 @@ describe Gitlab::Email::Handler::EE::ServiceDeskHandler do
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
end
it 'sends thank you the email and creates issue' do
......
......@@ -122,6 +122,7 @@ describe Project, models: true do
before do
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(Gitlab.config.incoming_email).to receive(:enabled).and_return(true)
allow(Gitlab.config.incoming_email).to receive(:address).and_return("test+%{key}@mail.com")
end
......
......@@ -9,6 +9,8 @@ describe EE::NotificationService do
allow_any_instance_of(License).to receive(:add_on?).and_call_original
allow_any_instance_of(License).to receive(:add_on?).with('GitLab_ServiceDesk') { true }
allow(::Gitlab::IncomingEmail).to receive(:enabled?) { true }
allow(::Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true }
end
def should_email!
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment