diff --git a/ruby/lib/jam_ruby/models/search.rb b/ruby/lib/jam_ruby/models/search.rb index 6f11b2d4f..d120ef97a 100644 --- a/ruby/lib/jam_ruby/models/search.rb +++ b/ruby/lib/jam_ruby/models/search.rb @@ -161,20 +161,20 @@ module JamRuby @user_mappings = results.inject({}) { |hh,val| hh[val.id] = []; hh } mids = "'#{@musicians.map(&:id).join("','")}'" - rel = User.select("users.id AS uid, follows.id AS jid") + rel = User.select("users.id AS uid") rel = rel.joins("LEFT JOIN users_followers AS follows ON follows.follower_id = '#{user.id}'") rel = rel.where(["users.id IN (#{mids}) AND follows.user_id = users.id"]) - rel.all.each { |val| @user_mappings[val.uid] << RESULT_FOLLOW if @user_mappings[val.uid] } + rel.all.each { |val| @user_mappings[val.uid] << RESULT_FOLLOW } - rel = User.select("users.id AS uid, likers.id AS jid") + rel = User.select("users.id AS uid") rel = rel.joins("LEFT JOIN users_likers AS likers ON likers.liker_id = '#{user.id}'") rel = rel.where(["users.id IN (#{mids}) AND likers.user_id = users.id"]) - rel.all.each { |val| @user_mappings[val.uid] << RESULT_LIKE if @user_mappings[val.uid] } + rel.all.each { |val| @user_mappings[val.uid] << RESULT_LIKE } - rel = User.select("users.id AS uid, friends.id AS jid") + rel = User.select("users.id AS uid") rel = rel.joins("LEFT JOIN friendships AS friends ON friends.friend_id = '#{user.id}'") rel = rel.where(["users.id IN (#{mids}) AND friends.user_id = users.id"]) - rel.all.each { |val| @user_mappings[val.uid] << RESULT_FRIEND if @user_mappings[val.uid] } + rel.all.each { |val| @user_mappings[val.uid] << RESULT_FRIEND } else @user_mappings = {} end diff --git a/ruby/spec/jam_ruby/models/musician_search_spec.rb b/ruby/spec/jam_ruby/models/musician_search_spec.rb index 4cf79e7e3..a9184699c 100644 --- a/ruby/spec/jam_ruby/models/musician_search_spec.rb +++ b/ruby/spec/jam_ruby/models/musician_search_spec.rb @@ -61,14 +61,15 @@ describe User do results.musicians.count.should == 2 end -=begin it "should have friends counter " do Friendship.save(@user1.id, @user2.id) - results = Search.musician_search + results = Search.musician_search({}, @user2) friend = results.musicians.detect { |mm| mm.id == @user1.id } friend.should_not == nil friend.search_friend_count.to_i.should == 1 - results.musicians[0].is_follower?(@user1).should == true + @user1.reload + friend.friends?(@user2).should == true + results.is_friend?(@user1).should == true end it "should have recording counter " do @@ -138,5 +139,5 @@ describe User do results = Search.musician_search(params) results.musicians.count.should == User.count end -=end + end