diff options
| author | Zog | 2018-02-20 11:38:44 +0100 | 
|---|---|---|
| committer | Zog | 2018-02-20 14:32:41 +0100 | 
| commit | 05a60eb3e91915ae7192d67599cb3d47a2790507 (patch) | |
| tree | 359ec1f46caf135ca1734e09848b20e084f3fea0 | |
| parent | eed186f44ee13c73dd6ba3df78f72a89cde3d30d (diff) | |
| download | chouette-core-05a60eb3e91915ae7192d67599cb3d47a2790507.tar.bz2 | |
Refs #5901; Update specs and fix unaccented search
| -rw-r--r-- | app/models/chouette/time_table.rb | 4 | ||||
| -rw-r--r-- | app/models/chouette/time_table_date.rb | 4 | ||||
| -rw-r--r-- | spec/controllers/autocomplete_time_tables_controller_spec.rb | 10 | 
3 files changed, 12 insertions, 6 deletions
| diff --git a/app/models/chouette/time_table.rb b/app/models/chouette/time_table.rb index b76de852a..20d6e69ac 100644 --- a/app/models/chouette/time_table.rb +++ b/app/models/chouette/time_table.rb @@ -17,6 +17,10 @@ module Chouette        (column_names + ['tag_search']) + _ransackers.keys      end +    ransacker :unaccented_comment, formatter: ->(val){ val.parameterize } do +      Arel.sql('unaccent(comment)') +    end +      has_and_belongs_to_many :vehicle_journeys, :class_name => 'Chouette::VehicleJourney'      has_many :dates, -> {order(:date)}, inverse_of: :time_table, :validate => :true, :class_name => "Chouette::TimeTableDate", :dependent => :destroy diff --git a/app/models/chouette/time_table_date.rb b/app/models/chouette/time_table_date.rb index 6f6722426..98d8fa765 100644 --- a/app/models/chouette/time_table_date.rb +++ b/app/models/chouette/time_table_date.rb @@ -11,10 +11,6 @@ module Chouette      scope :in_dates, -> { where(in_out: true) } -    ransacker :unaccented_comment do -      Arel.sql('unaccent(comment)') -    end -      def self.model_name        ActiveModel::Name.new Chouette::TimeTableDate, Chouette, "TimeTableDate"      end diff --git a/spec/controllers/autocomplete_time_tables_controller_spec.rb b/spec/controllers/autocomplete_time_tables_controller_spec.rb index 5cc0eced0..85a8eb714 100644 --- a/spec/controllers/autocomplete_time_tables_controller_spec.rb +++ b/spec/controllers/autocomplete_time_tables_controller_spec.rb @@ -6,6 +6,8 @@ RSpec.describe AutocompleteTimeTablesController, type: :controller do    let(:referential) { Referential.first }    let(:other_referential) { create :referential }    let!(:time_table) { create :time_table, comment: 'écolà militaire' } +  let!(:blargh) { create :time_table, comment: 'écolàë militaire' } +  let!(:other_time_table) { create :time_table, comment: 'foo bar baz' }    describe 'GET #index' do      it 'should be successful' do @@ -17,13 +19,17 @@ RSpec.describe AutocompleteTimeTablesController, type: :controller do        it 'should be successful' do          get :index, referential_id: referential.id, q: {unaccented_comment_or_objectid_cont_any: 'écolà'}, :format => :json          expect(response).to be_success -        expect(assigns(:time_tables)).to eq([time_table]) +        expect(assigns(:time_tables)).to include(time_table) +        expect(assigns(:time_tables)).to include(blargh) +        expect(assigns(:time_tables)).to_not include(other_time_table)        end        it 'should be accent insensitive' do          get :index, referential_id: referential.id, q: {unaccented_comment_or_objectid_cont_any: 'ecola'}, :format => :json          expect(response).to be_success -        expect(assigns(:time_tables)).to eq([time_table]) +        expect(assigns(:time_tables)).to include(time_table) +        expect(assigns(:time_tables)).to include(blargh) +        expect(assigns(:time_tables)).to_not include(other_time_table)        end      end    end | 
