diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-25 09:06:04 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-25 09:06:04 +0000 |
commit | 1cfd8874ee6702184d5608f533b30bab722b4f9d (patch) | |
tree | 4921070efdc0ad2d1c3c7d8a3a60c73928b57d25 /spec/models/pages | |
parent | fbcb36880cda3a29cfa4ebed4d080701c302256b (diff) | |
download | gitlab-ce-1cfd8874ee6702184d5608f533b30bab722b4f9d.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/pages')
-rw-r--r-- | spec/models/pages/lookup_path_spec.rb | 12 | ||||
-rw-r--r-- | spec/models/pages/virtual_domain_spec.rb | 26 |
2 files changed, 31 insertions, 7 deletions
diff --git a/spec/models/pages/lookup_path_spec.rb b/spec/models/pages/lookup_path_spec.rb index 2146b0c9abd..c05d4c82634 100644 --- a/spec/models/pages/lookup_path_spec.rb +++ b/spec/models/pages/lookup_path_spec.rb @@ -57,8 +57,18 @@ describe Pages::LookupPath do end describe '#prefix' do - it 'returns "/"' do + it 'returns "/" for pages group root projects' do + project = instance_double(Project, pages_group_root?: true) + lookup_path = described_class.new(project, trim_prefix: 'mygroup') + expect(lookup_path.prefix).to eq('/') end + + it 'returns the project full path with the provided prefix removed' do + project = instance_double(Project, pages_group_root?: false, full_path: 'mygroup/myproject') + lookup_path = described_class.new(project, trim_prefix: 'mygroup') + + expect(lookup_path.prefix).to eq('/myproject/') + end end end diff --git a/spec/models/pages/virtual_domain_spec.rb b/spec/models/pages/virtual_domain_spec.rb index eaa57b7acd6..a5310738482 100644 --- a/spec/models/pages/virtual_domain_spec.rb +++ b/spec/models/pages/virtual_domain_spec.rb @@ -25,19 +25,33 @@ describe Pages::VirtualDomain do end describe '#lookup_paths' do - let(:domain) { instance_double(PagesDomain) } let(:project_a) { instance_double(Project) } let(:project_z) { instance_double(Project) } let(:pages_lookup_path_a) { instance_double(Pages::LookupPath, prefix: 'aaa') } let(:pages_lookup_path_z) { instance_double(Pages::LookupPath, prefix: 'zzz') } - subject(:virtual_domain) { described_class.new([project_a, project_z], domain: domain) } + context 'when there is pages domain provided' do + let(:domain) { instance_double(PagesDomain) } - it 'returns collection of projects pages lookup paths sorted by prefix in reverse' do - expect(project_a).to receive(:pages_lookup_path).with(domain: domain).and_return(pages_lookup_path_a) - expect(project_z).to receive(:pages_lookup_path).with(domain: domain).and_return(pages_lookup_path_z) + subject(:virtual_domain) { described_class.new([project_a, project_z], domain: domain) } - expect(virtual_domain.lookup_paths).to eq([pages_lookup_path_z, pages_lookup_path_a]) + it 'returns collection of projects pages lookup paths sorted by prefix in reverse' do + expect(project_a).to receive(:pages_lookup_path).with(domain: domain, trim_prefix: nil).and_return(pages_lookup_path_a) + expect(project_z).to receive(:pages_lookup_path).with(domain: domain, trim_prefix: nil).and_return(pages_lookup_path_z) + + expect(virtual_domain.lookup_paths).to eq([pages_lookup_path_z, pages_lookup_path_a]) + end + end + + context 'when there is trim_prefix provided' do + subject(:virtual_domain) { described_class.new([project_a, project_z], trim_prefix: 'group/') } + + it 'returns collection of projects pages lookup paths sorted by prefix in reverse' do + expect(project_a).to receive(:pages_lookup_path).with(trim_prefix: 'group/', domain: nil).and_return(pages_lookup_path_a) + expect(project_z).to receive(:pages_lookup_path).with(trim_prefix: 'group/', domain: nil).and_return(pages_lookup_path_z) + + expect(virtual_domain.lookup_paths).to eq([pages_lookup_path_z, pages_lookup_path_a]) + end end end end |