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 15:15:37 +0200
commitcb0202937a44f300f5ddd8da625557e379b9411e (patch)
treeb6b2add029b7529fabfef8197e52fc64603b94f5 /spec/controllers/projects_controller_spec.rb
parentf6a1a21f6f808738b3caccca1b1233303649f898 (diff)
downloadgitlab-ce-fix/rugged-repo-error.tar.gz
fix broken repo 500 errors in UI and added relevant specsfix/rugged-repo-error
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