From 9442c33584d9667551447aa2d579aec03fb18d50 Mon Sep 17 00:00:00 2001 From: Athar Hameed Date: Fri, 28 Jul 2017 15:23:40 +0000 Subject: Fix 500 error when rendering avatar for deleted project creator --- app/views/shared/projects/_project.html.haml | 2 +- ...n-rendering-avatar-for-deleted-project-creator.yml | 4 ++++ spec/views/shared/projects/_project.html.haml_spec.rb | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/fix-500-error-when-rendering-avatar-for-deleted-project-creator.yml create mode 100644 spec/views/shared/projects/_project.html.haml_spec.rb diff --git a/app/views/shared/projects/_project.html.haml b/app/views/shared/projects/_project.html.haml index 4bdbc26a4c3..f4f155c8d94 100644 --- a/app/views/shared/projects/_project.html.haml +++ b/app/views/shared/projects/_project.html.haml @@ -14,7 +14,7 @@ - if avatar .avatar-container.s40 = link_to project_path(project), class: dom_class(project) do - - if use_creator_avatar + - if project.creator && use_creator_avatar = image_tag avatar_icon(project.creator.email, 40), class: "avatar s40", alt:'' - else = project_icon(project, alt: '', class: 'avatar project-avatar s40') diff --git a/changelogs/unreleased/fix-500-error-when-rendering-avatar-for-deleted-project-creator.yml b/changelogs/unreleased/fix-500-error-when-rendering-avatar-for-deleted-project-creator.yml new file mode 100644 index 00000000000..be6f1ea00fb --- /dev/null +++ b/changelogs/unreleased/fix-500-error-when-rendering-avatar-for-deleted-project-creator.yml @@ -0,0 +1,4 @@ +--- +title: Modify if condition to be more readable +merge_request: +author: diff --git a/spec/views/shared/projects/_project.html.haml_spec.rb b/spec/views/shared/projects/_project.html.haml_spec.rb new file mode 100644 index 00000000000..43334c2c236 --- /dev/null +++ b/spec/views/shared/projects/_project.html.haml_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe 'shared/projects/_project.html.haml' do + let(:project) { create(:empty_project) } + + it 'should render creator avatar if project has a creator' do + render 'shared/projects/project', use_creator_avatar: true, project: project + + expect(rendered).to have_selector('img.avatar') + end + + it 'should render a generic avatar if project does not have a creator' do + project.creator = nil + + render 'shared/projects/project', use_creator_avatar: true, project: project + + expect(rendered).to have_selector('.project-avatar') + end +end -- cgit v1.2.1