summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2017-08-31 12:59:29 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2017-08-31 12:59:29 +0000
commitd5d249764350b07340ed45068361d7249b3cf641 (patch)
tree8b952af9567c65beb4aa2ff5210e4555d7968f3b /spec
parenta768e1b7048c17d4dde8ee086c7ff7dc2b43762e (diff)
parent04cd47dd5a08ca5cc84c44346b2893111da9594c (diff)
downloadgitlab-ce-d5d249764350b07340ed45068361d7249b3cf641.tar.gz
Merge branch 'zj-disable-pages-in-subgroups' into 'master'
Don't show references to Pages when not available Closes #34864 See merge request !13888
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/projects/pages_controller_spec.rb13
-rw-r--r--spec/models/project_spec.rb22
2 files changed, 34 insertions, 1 deletions
diff --git a/spec/controllers/projects/pages_controller_spec.rb b/spec/controllers/projects/pages_controller_spec.rb
index 4d0111302f3..83c7744a231 100644
--- a/spec/controllers/projects/pages_controller_spec.rb
+++ b/spec/controllers/projects/pages_controller_spec.rb
@@ -2,7 +2,7 @@ require 'spec_helper'
describe Projects::PagesController do
let(:user) { create(:user) }
- let(:project) { create(:project, :public, :access_requestable) }
+ let(:project) { create(:project, :public) }
let(:request_params) do
{
@@ -23,6 +23,17 @@ describe Projects::PagesController do
expect(response).to have_http_status(200)
end
+
+ context 'when the project is in a subgroup' do
+ let(:group) { create(:group, :nested) }
+ let(:project) { create(:project, namespace: group) }
+
+ it 'returns a 404 status code' do
+ get :show, request_params
+
+ expect(response).to have_http_status(404)
+ end
+ end
end
describe 'DELETE destroy' do
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 11717ba39e8..3621023f4ca 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -2234,6 +2234,28 @@ describe Project do
end
end
+ describe '#pages_available?' do
+ let(:project) { create(:project, group: group) }
+
+ subject { project.pages_available? }
+
+ before do
+ allow(Gitlab.config.pages).to receive(:enabled).and_return(true)
+ end
+
+ context 'when the project is in a top level namespace' do
+ let(:group) { create(:group) }
+
+ it { is_expected.to be(true) }
+ end
+
+ context 'when the project is in a subgroup' do
+ let(:group) { create(:group, :nested) }
+
+ it { is_expected.to be(false) }
+ end
+ end
+
describe '#remove_private_deploy_keys' do
let!(:project) { create(:project) }