From 1a93ccd5482755225b9d01457926c5138df5fcff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonne=20Ha=C3=9F?= Date: Wed, 24 Oct 2012 19:02:06 +0200 Subject: [PATCH] don't error out if the root of a reshare of a reshare got deleted, fixes #3546 --- Changelog.md | 4 ++++ app/presenters/post_presenter.rb | 2 +- spec/presenters/post_presenter_spec.rb | 10 ++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index ddf5e5295..2d7e6f59a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -30,6 +30,10 @@ * Fix javascripts error in invitations facebox. [#3638](https://github.com/diaspora/diaspora/pull/3638) * Fix css overflow problem in aspect dropdown on welcome page. [#3637](https://github.com/diaspora/diaspora/pull/3637) +# 0.0.1.2 + +Fix exception when the root of a reshare of a reshare got deleted [#3546](https://github.com/diaspora/diaspora/issues/3546) + # 0.0.1.1 * Fix syntax error in French Javascript pluralization rule. diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb index a5619a0d4..a0558bc4e 100644 --- a/app/presenters/post_presenter.rb +++ b/app/presenters/post_presenter.rb @@ -63,7 +63,7 @@ class PostPresenter end def root - PostPresenter.new(@post.absolute_root, current_user).as_json if @post.respond_to?(:root) && @post.root.present? + PostPresenter.new(@post.absolute_root, current_user).as_json if @post.respond_to?(:absolute_root) && @post.absolute_root.present? end def user_like diff --git a/spec/presenters/post_presenter_spec.rb b/spec/presenters/post_presenter_spec.rb index f23b848f6..1d70df86f 100644 --- a/spec/presenters/post_presenter_spec.rb +++ b/spec/presenters/post_presenter_spec.rb @@ -44,6 +44,16 @@ describe PostPresenter do end describe '#root' do + it 'does not raise if the absolute_root does not exists' do + first_reshare = FactoryGirl.create :reshare + first_reshare.root = nil + reshare = FactoryGirl.create :reshare, :root => first_reshare + + expect { + PostPresenter.new(reshare).root + }.to_not raise_error + end + it 'does not raise if the root does not exists' do reshare = FactoryGirl.create:reshare reshare.root = nil