From 6e6ba4e8586c66fcecd37bf7263590aae6289a10 Mon Sep 17 00:00:00 2001 From: Joenio Costa Date: Thu, 11 Jun 2015 00:43:32 -0300 Subject: [PATCH] check if Article exists before trying to get its ID --- plugins/metadata/lib/metadata_plugin.rb | 2 +- plugins/metadata/test/functional/content_viewer_controller_test.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/metadata/lib/metadata_plugin.rb b/plugins/metadata/lib/metadata_plugin.rb index 0ce6649..8d07c25 100644 --- a/plugins/metadata/lib/metadata_plugin.rb +++ b/plugins/metadata/lib/metadata_plugin.rb @@ -23,7 +23,7 @@ class MetadataPlugin < Noosfero::Plugin }, content_viewer: { variable: proc do - if profile and profile.home_page_id == @page.id + if profile and @page and profile.home_page_id == @page.id @profile elsif @page.respond_to? :encapsulated_file @page.encapsulated_file diff --git a/plugins/metadata/test/functional/content_viewer_controller_test.rb b/plugins/metadata/test/functional/content_viewer_controller_test.rb index 1c7787c..ae01d05 100644 --- a/plugins/metadata/test/functional/content_viewer_controller_test.rb +++ b/plugins/metadata/test/functional/content_viewer_controller_test.rb @@ -48,4 +48,13 @@ class ContentViewerControllerTest < ActionController::TestCase assert_tag tag: 'meta', attributes: { property: 'og:image', content: /\/images\/x.png/ } end + should 'render not_found page properly' do + assert_equal false, Article.exists?(:slug => 'non-existing-page') + assert_nothing_raised do + get :view_page, profile: profile.identifier, page: [ 'non-existing-page' ] + assert_response 404 # not found + assert_template 'not_found' + end + end + end -- libgit2 0.21.2