Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-30 18:07:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-30 18:07:51 +0300
commit4e9acbfba3682c552b3de707c535e6257ef41054 (patch)
tree8b1fd5f89ad3f1be68d8944815b13bb7d498e4a6 /spec/presenters
parent506d6dcd7c787ba71a8a53102f3d4fdb6adcfa5e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/pages_domain_presenter_spec.rb73
1 files changed, 73 insertions, 0 deletions
diff --git a/spec/presenters/pages_domain_presenter_spec.rb b/spec/presenters/pages_domain_presenter_spec.rb
new file mode 100644
index 00000000000..1cae3a8c9be
--- /dev/null
+++ b/spec/presenters/pages_domain_presenter_spec.rb
@@ -0,0 +1,73 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe PagesDomainPresenter do
+ using RSpec::Parameterized::TableSyntax
+ include LetsEncryptHelpers
+
+ let(:presenter) { Gitlab::View::Presenter::Factory.new(domain).fabricate! }
+
+ describe 'needs_validation?' do
+ where(:pages_verification_enabled, :traits, :expected) do
+ false | :unverified | false
+ false | [] | false
+ true | :unverified | true
+ true | [] | false
+ end
+
+ with_them do
+ before do
+ stub_application_setting(pages_domain_verification_enabled: pages_verification_enabled)
+ end
+
+ let(:domain) { create(:pages_domain, *traits) }
+
+ it { expect(presenter.needs_verification?).to eq(expected) }
+ end
+ end
+
+ describe 'show_auto_ssl_failed_warning?' do
+ subject { presenter.show_auto_ssl_failed_warning? }
+
+ let(:domain) { create(:pages_domain) }
+
+ before do
+ stub_lets_encrypt_settings
+ end
+
+ it { is_expected.to eq(false) }
+
+ context "when we failed to obtain Let's Encrypt's certificate" do
+ before do
+ domain.update!(auto_ssl_failed: true)
+ end
+
+ it { is_expected.to eq(true) }
+
+ context 'when lets_encrypt_error feature flag is disabled' do
+ before do
+ stub_feature_flags(pages_letsencrypt_errors: false)
+ end
+
+ it { is_expected.to eq(false) }
+ end
+
+ context "when Let's Encrypt integration is disabled" do
+ before do
+ allow(::Gitlab::LetsEncrypt).to receive(:enabled?).and_return false
+ end
+
+ it { is_expected.to eq(false) }
+ end
+
+ context "when domain is unverified" do
+ before do
+ domain.update!(verified_at: nil)
+ end
+
+ it { is_expected.to eq(false) }
+ end
+ end
+ end
+end