+ assert_template :view
+
+ # Try a deleted entry
+ get :view, {:display_name => users(:normal_user).display_name, :id => diary_entries(:deleted_entry).id}
+ assert_response :not_found
+
+ # Try an entry by a suspended user
+ get :view, {:display_name => users(:suspended_user).display_name, :id => diary_entries(:entry_by_suspended_user).id}
+ assert_response :not_found
+
+ # Try an entry by a deleted user
+ get :view, {:display_name => users(:deleted_user).display_name, :id => diary_entries(:entry_by_deleted_user).id}
+ assert_response :not_found
+ end
+
+ def test_viewing_hidden_comments
+ # Get a diary entry that has hidden comments
+ get :view, {:display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_geo_entry).id}
+ assert_response :success
+ assert_template :view
+ assert_select "div.comments" do
+ assert_select "p#comment1", :count => 1 # visible comment
+ assert_select "p#comment2", :count => 0 # comment by suspended user
+ assert_select "p#comment3", :count => 0 # comment by deleted user
+ assert_select "p#comment4", :count => 0 # hidden comment
+ end