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:
Diffstat (limited to 'spec/models/pages/lookup_path_spec.rb')
-rw-r--r--spec/models/pages/lookup_path_spec.rb57
1 files changed, 23 insertions, 34 deletions
diff --git a/spec/models/pages/lookup_path_spec.rb b/spec/models/pages/lookup_path_spec.rb
index 62152f9d3a4..08ba823f8fa 100644
--- a/spec/models/pages/lookup_path_spec.rb
+++ b/spec/models/pages/lookup_path_spec.rb
@@ -4,8 +4,10 @@ require 'spec_helper'
RSpec.describe Pages::LookupPath, feature_category: :pages do
let(:project) { create(:project, :pages_private, pages_https_only: true) }
+ let(:trim_prefix) { nil }
+ let(:domain) { nil }
- subject(:lookup_path) { described_class.new(project) }
+ subject(:lookup_path) { described_class.new(project, trim_prefix: trim_prefix, domain: domain) }
before do
stub_pages_setting(
@@ -30,11 +32,7 @@ RSpec.describe Pages::LookupPath, feature_category: :pages do
end
describe '#https_only' do
- subject(:lookup_path) { described_class.new(project, domain: domain) }
-
context 'when no domain provided' do
- let(:domain) { nil }
-
it 'delegates to Project#pages_https_only?' do
expect(lookup_path.https_only).to eq(true)
end
@@ -101,41 +99,26 @@ RSpec.describe Pages::LookupPath, feature_category: :pages do
end
end
end
-
- context 'when deployment were created during migration' do
- before do
- allow(deployment).to receive(:migrated?).and_return(true)
- end
-
- it 'uses deployment from object storage' do
- freeze_time do
- expect(source).to eq(
- type: 'zip',
- path: deployment.file.url(expire_at: 1.day.from_now),
- global_id: "gid://gitlab/PagesDeployment/#{deployment.id}",
- sha256: deployment.file_sha256,
- file_size: deployment.size,
- file_count: deployment.file_count
- )
- end
- end
- end
end
end
describe '#prefix' do
- it 'returns "/" for pages group root projects' do
- project = instance_double(Project, full_path: "namespace/namespace.example.com")
- lookup_path = described_class.new(project, trim_prefix: 'mygroup')
+ let(:trim_prefix) { 'mygroup' }
+
+ context 'when pages group root projects' do
+ let(:project) { instance_double(Project, full_path: "namespace/namespace.example.com") }
- expect(lookup_path.prefix).to eq('/')
+ it 'returns "/"' do
+ expect(lookup_path.prefix).to eq('/')
+ end
end
- it 'returns the project full path with the provided prefix removed' do
- project = instance_double(Project, full_path: 'mygroup/myproject')
- lookup_path = described_class.new(project, trim_prefix: 'mygroup')
+ context 'when pages in the given prefix' do
+ let(:project) { instance_double(Project, full_path: 'mygroup/myproject') }
- expect(lookup_path.prefix).to eq('/myproject/')
+ it 'returns the project full path with the provided prefix removed' do
+ expect(lookup_path.prefix).to eq('/myproject/')
+ end
end
end
@@ -157,12 +140,18 @@ RSpec.describe Pages::LookupPath, feature_category: :pages do
expect(lookup_path.unique_host).to eq('unique-domain.example.com')
end
+
+ context 'when there is domain provided' do
+ let(:domain) { instance_double(PagesDomain) }
+
+ it 'returns nil' do
+ expect(lookup_path.unique_host).to eq(nil)
+ end
+ end
end
end
describe '#root_directory' do
- subject(:lookup_path) { described_class.new(project) }
-
context 'when there is no deployment' do
it 'returns nil' do
expect(lookup_path.root_directory).to be_nil