From 33e35930b082ebc8db6f4c9b465e4e92d0999028 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 25 Mar 2015 11:18:46 -0400 Subject: [PATCH] FIX: Server error when no results on user directory while logged in --- app/controllers/directory_items_controller.rb | 2 +- .../directory_items_controller_spec.rb | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/controllers/directory_items_controller.rb b/app/controllers/directory_items_controller.rb index 077034024b0..7a53f3a4c97 100644 --- a/app/controllers/directory_items_controller.rb +++ b/app/controllers/directory_items_controller.rb @@ -41,7 +41,7 @@ class DirectoryItemsController < ApplicationController more_params[:page] = page + 1 # Put yourself at the top of the first page - if current_user.present? && page == 0 && result[0].user_id != current_user.id + if result.present? && current_user.present? && page == 0 && result[0].user_id != current_user.id your_item = DirectoryItem.where(period_type: period_type, user_id: current_user.id).first result.insert(0, your_item) if your_item end diff --git a/spec/controllers/directory_items_controller_spec.rb b/spec/controllers/directory_items_controller_spec.rb index 8f46747d8f2..c100b3c194a 100644 --- a/spec/controllers/directory_items_controller_spec.rb +++ b/spec/controllers/directory_items_controller_spec.rb @@ -11,6 +11,21 @@ describe DirectoryItemsController do response.should_not be_success end + context "without data" do + + context "and a logged in user" do + let!(:user) { log_in } + + it "succeeds" do + xhr :get, :index, period: 'all' + response.should be_success + json = ::JSON.parse(response.body) + end + end + + end + + context "with data" do before do Fabricate(:user)