summaryrefslogtreecommitdiff
path: root/spec/controllers/projects_controller_spec.rb
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-09-23 09:42:07 +0200
committerJames Lopez <james@jameslopez.es>2016-09-29 16:58:14 +0200
commit29141ed3ea6157a60d9748921782015626a17f9e (patch)
tree7157204905f0184682528735a282cfa7c76f0dfd /spec/controllers/projects_controller_spec.rb
parenta8691bda3bb8b2db12f7aabe740a0e064c42fd62 (diff)
downloadgitlab-ce-29141ed3ea6157a60d9748921782015626a17f9e.tar.gz
fix broken repo 500 errors in UI and added relevant specs
Diffstat (limited to 'spec/controllers/projects_controller_spec.rb')
-rw-r--r--spec/controllers/projects_controller_spec.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb
index b0f740f48f7..da0fdce39db 100644
--- a/spec/controllers/projects_controller_spec.rb
+++ b/spec/controllers/projects_controller_spec.rb
@@ -63,6 +63,28 @@ describe ProjectsController do
end
end
+ context "project with broken repo" do
+ let(:empty_project) { create(:project_broken_repo, :public) }
+
+ before { sign_in(user) }
+
+ User.project_views.keys.each do |project_view|
+ context "with #{project_view} view set" do
+ before do
+ user.update_attributes(project_view: project_view)
+
+ get :show, namespace_id: empty_project.namespace.path, id: empty_project.path
+ end
+
+ it "renders the empty project view" do
+ allow(Project).to receive(:repo).and_raise(Gitlab::Git::Repository::NoRepository)
+
+ expect(response).to render_template('projects/no_repo')
+ end
+ end
+ end
+ end
+
context "rendering default project view" do
render_views