diff --git a/app/assets/javascripts/app/views/publisher/mention_view.js b/app/assets/javascripts/app/views/publisher/mention_view.js index 03e31820fa518ddb24727c3ee562f0d088d84164..2a1c65591956b20c5853741d79df232a6ab7813d 100644 --- a/app/assets/javascripts/app/views/publisher/mention_view.js +++ b/app/assets/javascripts/app/views/publisher/mention_view.js @@ -32,7 +32,7 @@ app.views.PublisherMention = app.views.SearchBase.extend({ typeaheadInput: this.typeaheadInput, customSearch: true, autoselect: true, - remoteRoute: "/contacts/search" + remoteRoute: "/contacts" }); }, diff --git a/app/controllers/contacts_controller.rb b/app/controllers/contacts_controller.rb index 8e9b670f6a3bfc332711783fb2f09d74545fe1e3..d3734da9b765ba0fddbd0c273b634791b03d824c 100644 --- a/app/controllers/contacts_controller.rb +++ b/app/controllers/contacts_controller.rb @@ -13,17 +13,12 @@ class ContactsController < ApplicationController # Used by the mobile site format.mobile { set_up_contacts_mobile } - end - end - - def search - @people = Person.search(params[:q], current_user, only_contacts: true).limit(15) - respond_to do |format| - format.json do - @people = @people.limit(15) + # Used for mentions in the publisher + format.json { + @people = Person.search(params[:q], current_user, only_contacts: true).limit(15) render json: @people - end + } end end diff --git a/config/routes.rb b/config/routes.rb index 0695972fcb552ff5336aea9f6fe63acb1d000a8c..cea28508f145456ac678312cbd66b9ed22f44e16 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -155,9 +155,6 @@ Diaspora::Application.routes.draw do resources :contacts, only: %i(index) - - get "contacts/search" => "contacts#search" - resources :aspect_memberships, :only => [:destroy, :create] resources :share_visibilities, :only => [:update] resources :blocks, :only => [:create, :destroy] diff --git a/spec/controllers/contacts_controller_spec.rb b/spec/controllers/contacts_controller_spec.rb index d2af43e8dc0e93cedd0be27ef68f8ba645fb53a3..0f343e43b49f4e553da72e9c699613b7b233364b 100644 --- a/spec/controllers/contacts_controller_spec.rb +++ b/spec/controllers/contacts_controller_spec.rb @@ -48,28 +48,26 @@ describe ContactsController, :type => :controller do expect(contacts.to_set).to eq(bob.contacts.to_set) end end - end - describe "#search" do - before do - @eugene = FactoryGirl.create(:person, profile: FactoryGirl.build(:profile, first_name: "Eugene", last_name: "W")) - bob.share_with(@eugene, bob.aspects.first) - @casey = FactoryGirl.create(:person, profile: FactoryGirl.build(:profile, first_name: "Casey", last_name: "W")) - end + context "format json" do + before do + @person1 = FactoryGirl.create(:person) + bob.share_with(@person1, bob.aspects.first) + @person2 = FactoryGirl.create(:person) + end - describe "via json" do it "succeeds" do - get :search, q: "Eugene", format: "json" + get :index, q: @person1.first_name, format: "json" expect(response).to be_success end it "responds with json" do - get :search, q: "Eugene", format: "json" - expect(response.body).to eq([@eugene].to_json) + get :index, q: @person1.first_name, format: "json" + expect(response.body).to eq([@person1].to_json) end it "only returns contacts" do - get :search, q: "Casey", format: "json" + get :index, q: @person2.first_name, format: "json" expect(response.body).to eq([].to_json) end end diff --git a/spec/javascripts/app/views/publisher_mention_view_spec.js b/spec/javascripts/app/views/publisher_mention_view_spec.js index 571b08d898e79e0e00f02d1400019303423fd6f0..a28a393e7e3516b4b713c0201df865f93dae426a 100644 --- a/spec/javascripts/app/views/publisher_mention_view_spec.js +++ b/spec/javascripts/app/views/publisher_mention_view_spec.js @@ -19,7 +19,7 @@ describe("app.views.PublisherMention", function() { expect(call.args[0].typeaheadInput.selector).toBe("#publisher .typeahead-mention-box"); expect(call.args[0].customSearch).toBeTruthy(); expect(call.args[0].autoselect).toBeTruthy(); - expect(call.args[0].remoteRoute).toBe("/contacts/search"); + expect(call.args[0].remoteRoute).toBe("/contacts"); }); it("calls bindTypeaheadEvents", function() {