Add specs for .auto_devops_warning_message

This commit is contained in:
Matija Čupić 2018-02-01 23:29:11 +01:00
parent 5126b1c5d3
commit a31539847f
No known key found for this signature in database
GPG Key ID: 4BAF84FFACD2E5DE
2 changed files with 48 additions and 6 deletions

View File

@ -9,21 +9,28 @@ module AutoDevopsHelper
end
def auto_devops_warning_message(project)
missing_domain = !project.auto_devops&.has_domain?
missing_service = !project.deployment_platform&.active?
if missing_service
if missing_service?
params = {
kubernetes: link_to('Kubernetes cluster', project_clusters_path(project))
}
if missing_domain
if missing_domain?
_('Auto Review Apps and Auto Deploy need a domain name and a %{kubernetes} to work correctly.') % params
else
_('Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly.') % params
end
elsif missing_domain
elsif missing_domain?
_('Auto Review Apps and Auto Deploy need a domain name to work correctly.')
end
end
private
def missing_domain?
!(project.auto_devops&.has_domain? || current_application_settings.auto_devops_domain.present?)
end
def missing_service?
!project.deployment_platform&.active?
end
end

View File

@ -82,4 +82,39 @@ describe AutoDevopsHelper do
it { is_expected.to eq(false) }
end
end
describe '.auto_devops_warning_message' do
subject { helper.auto_devops_warning_message(project) }
context 'when the service is missing' do
before do
allow(helper).to receive(:missing_service?).and_return(true)
end
context 'when the domain is missing' do
before do
allow(helper).to receive(:missing_domain?).and_return(true)
end
it { is_expected.to match(/Auto Review Apps and Auto Deploy need a domain name and a .* to work correctly./) }
end
context 'when the domain is not missing' do
before do
allow(helper).to receive(:missing_domain?).and_return(false)
end
it { is_expected.to match(/Auto Review Apps and Auto Deploy need a .* to work correctly./) }
end
end
context 'when the domain is missing' do
before do
allow(helper).to receive(:missing_service?).and_return(false)
allow(helper).to receive(:missing_domain?).and_return(true)
end
it { is_expected.to eq('Auto Review Apps and Auto Deploy need a domain name to work correctly.') }
end
end
end