diff options
Diffstat (limited to 'spec/controllers')
| -rw-r--r-- | spec/controllers/autocomplete_time_tables_controller_spec.rb | 37 | ||||
| -rw-r--r-- | spec/controllers/referential_vehicle_journeys_controller_spec.rb | 42 |
2 files changed, 52 insertions, 27 deletions
diff --git a/spec/controllers/autocomplete_time_tables_controller_spec.rb b/spec/controllers/autocomplete_time_tables_controller_spec.rb new file mode 100644 index 000000000..85a8eb714 --- /dev/null +++ b/spec/controllers/autocomplete_time_tables_controller_spec.rb @@ -0,0 +1,37 @@ +require 'rails_helper' + +RSpec.describe AutocompleteTimeTablesController, type: :controller do + login_user + + 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 + get :index, referential_id: referential.id + expect(response).to be_success + end + + context 'search by name' 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 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 include(time_table) + expect(assigns(:time_tables)).to include(blargh) + expect(assigns(:time_tables)).to_not include(other_time_table) + end + end + end + +end diff --git a/spec/controllers/referential_vehicle_journeys_controller_spec.rb b/spec/controllers/referential_vehicle_journeys_controller_spec.rb index cc6b44b9d..50230dd9e 100644 --- a/spec/controllers/referential_vehicle_journeys_controller_spec.rb +++ b/spec/controllers/referential_vehicle_journeys_controller_spec.rb @@ -44,7 +44,8 @@ RSpec.describe ReferentialVehicleJourneysController, type: :controller do get :index, referential_id: referential, q: q } - let(:stop_area_ids){ [] } + let(:from_area_id){ nil } + let(:to_area_id){ nil } def create_journey_pattern_with_stop_areas(*stop_areas) j = create(:journey_pattern) @@ -56,40 +57,27 @@ RSpec.describe ReferentialVehicleJourneysController, type: :controller do j end - let(:q){ {stop_area_ids: stop_area_ids}} - let(:stop_area_1){ create :stop_area } - let(:stop_area_2){ create :stop_area } - let!(:journey_1){ create_journey_pattern_with_stop_areas(stop_area_1)} - let!(:journey_2){ create_journey_pattern_with_stop_areas(stop_area_2)} - let!(:journey_1_and_2){ create_journey_pattern_with_stop_areas(stop_area_1, stop_area_2)} - let!(:vehicle_journey_1){ create(:vehicle_journey, journey_pattern: journey_1)} - let!(:vehicle_journey_2){ create(:vehicle_journey, journey_pattern: journey_2)} - let!(:vehicle_journey_1_and_2){ create(:vehicle_journey, journey_pattern: journey_1_and_2)} - - context "with one stop" do - let(:stop_area_ids){[stop_area_1.id]} + let(:q){ {stop_areas: {start: from_area_id, end: to_area_id}} } + let(:journey_pattern){ create(:journey_pattern) } + let(:journey_pattern_2){ create(:journey_pattern) } + + let!(:vehicle_journey_1){ create(:vehicle_journey, journey_pattern: journey_pattern)} + let!(:vehicle_journey_2){ create(:vehicle_journey, journey_pattern: journey_pattern_2)} + + context "with the start stop" do + let(:from_area_id){ vehicle_journey_1.stop_areas.first.id } it "should apply filters" do - expect(vehicle_journey_1.stop_areas).to include stop_area_1 - expect(vehicle_journey_2.stop_areas).to_not include stop_area_1 - expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_1 expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1) expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2) - expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1_and_2) end end - context "with 2 stops" do - let(:stop_area_ids){[stop_area_1.id, stop_area_2.id]} + context "with both stops" do + let(:from_area_id){ vehicle_journey_1.stop_areas.first.id } + let(:to_area_id){ vehicle_journey_1.stop_areas.last.id } it "should apply filters" do - expect(vehicle_journey_1.stop_areas).to include stop_area_1 - expect(vehicle_journey_1.stop_areas).to_not include stop_area_2 - expect(vehicle_journey_2.stop_areas).to include stop_area_2 - expect(vehicle_journey_2.stop_areas).to_not include stop_area_1 - expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_1 - expect(vehicle_journey_1_and_2.stop_areas).to include stop_area_2 - expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_1) + expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1) expect(assigns[:vehicle_journeys]).to_not include(vehicle_journey_2) - expect(assigns[:vehicle_journeys]).to include(vehicle_journey_1_and_2) end end end |
