diff options
author | Stan Hu <stanhu@gmail.com> | 2017-09-19 20:42:08 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2017-09-19 20:42:08 +0000 |
commit | d15109dc5e6185b512785611cd3d146010e1eacc (patch) | |
tree | 423be6cc321fb3b3e0401be4364ea29fee333dfb /spec | |
parent | 1720464923cfdb9b914a8ac8286a825cfab94e16 (diff) | |
parent | 507d9e84d73618eb3793c4b82547874052fb7833 (diff) | |
download | gitlab-ce-d15109dc5e6185b512785611cd3d146010e1eacc.tar.gz |
Merge branch '37894-handle-if-auto-devops-domain-is-not-set' into 'master'
Resolve "Handle if Auto DevOps domain is not set"
Closes #37894
See merge request gitlab-org/gitlab-ce!14319
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/project_auto_devops_spec.rb | 16 | ||||
-rw-r--r-- | spec/views/projects/pipelines_settings/_show.html.haml_spec.rb | 62 |
2 files changed, 77 insertions, 1 deletions
diff --git a/spec/models/project_auto_devops_spec.rb b/spec/models/project_auto_devops_spec.rb index ca13af4d73e..12069575866 100644 --- a/spec/models/project_auto_devops_spec.rb +++ b/spec/models/project_auto_devops_spec.rb @@ -8,7 +8,21 @@ describe ProjectAutoDevops do it { is_expected.to respond_to(:created_at) } it { is_expected.to respond_to(:updated_at) } - describe 'variables' do + describe '#has_domain?' do + context 'when domain is defined' do + let(:auto_devops) { build_stubbed(:project_auto_devops, project: project, domain: 'domain.com') } + + it { expect(auto_devops).to have_domain } + end + + context 'when domain is empty' do + let(:auto_devops) { build_stubbed(:project_auto_devops, project: project, domain: '') } + + it { expect(auto_devops).not_to have_domain } + end + end + + describe '#variables' do let(:auto_devops) { build_stubbed(:project_auto_devops, project: project, domain: domain) } context 'when domain is defined' do diff --git a/spec/views/projects/pipelines_settings/_show.html.haml_spec.rb b/spec/views/projects/pipelines_settings/_show.html.haml_spec.rb new file mode 100644 index 00000000000..c757ccf02d3 --- /dev/null +++ b/spec/views/projects/pipelines_settings/_show.html.haml_spec.rb @@ -0,0 +1,62 @@ +require 'spec_helper' + +describe 'projects/pipelines_settings/_show' do + let(:project) { create(:project, :repository) } + + before do + assign :project, project + end + + context 'when kubernetes is not active' do + context 'when auto devops domain is not defined' do + it 'shows warning message' do + render + + expect(rendered).to have_css('.settings-message') + expect(rendered).to have_text('Auto Review Apps and Auto Deploy need a domain name and the') + expect(rendered).to have_link('Kubernetes service') + end + end + + context 'when auto devops domain is defined' do + before do + project.build_auto_devops(domain: 'example.com') + end + + it 'shows warning message' do + render + + expect(rendered).to have_css('.settings-message') + expect(rendered).to have_text('Auto Review Apps and Auto Deploy need the') + expect(rendered).to have_link('Kubernetes service') + end + end + end + + context 'when kubernetes is active' do + before do + project.build_kubernetes_service(active: true) + end + + context 'when auto devops domain is not defined' do + it 'shows warning message' do + render + + expect(rendered).to have_css('.settings-message') + expect(rendered).to have_text('Auto Review Apps and Auto Deploy need a domain name to work correctly.') + end + end + + context 'when auto devops domain is defined' do + before do + project.build_auto_devops(domain: 'example.com') + end + + it 'does not show warning message' do + render + + expect(rendered).not_to have_css('.settings-message') + end + end + end +end |