diff options
| -rw-r--r-- | app/controllers/autocomplete_stop_areas_controller.rb | 2 | ||||
| -rw-r--r-- | app/models/referential.rb | 4 | ||||
| -rw-r--r-- | spec/controllers/api/v1/stop_area_controller_spec.rb | 9 | ||||
| -rw-r--r-- | spec/controllers/autocomplete_stop_areas_controller_spec.rb | 14 | ||||
| -rw-r--r-- | spec/factories/chouette_stop_areas.rb | 8 | ||||
| -rw-r--r-- | spec/features/access_points_spec.rb | 2 | ||||
| -rw-r--r-- | spec/features/referential_stop_areas_spec.rb | 2 | ||||
| -rw-r--r-- | spec/models/calendar_spec.rb | 2 | 
8 files changed, 27 insertions, 16 deletions
| diff --git a/app/controllers/autocomplete_stop_areas_controller.rb b/app/controllers/autocomplete_stop_areas_controller.rb index d82fa316a..79154a6e0 100644 --- a/app/controllers/autocomplete_stop_areas_controller.rb +++ b/app/controllers/autocomplete_stop_areas_controller.rb @@ -21,7 +21,7 @@ class AutocompleteStopAreasController < ChouetteController        scope = StopAreaPolicy::Scope.new(current_user, scope).search_scope(search_scope)      end      args = [].tap{|arg| 4.times{arg << "%#{params[:q]}%"}} -    @stop_areas = scope.where("unaccent(name) ILIKE unaccent(?) OR unaccent(city_name) ILIKE unaccent(?) OR registration_number ILIKE ? OR objectid ILIKE ?", *args).limit(50) +    @stop_areas = scope.where("unaccent(stop_areas.name) ILIKE unaccent(?) OR unaccent(stop_areas.city_name) ILIKE unaccent(?) OR stop_areas.registration_number ILIKE ? OR stop_areas.objectid ILIKE ?", *args).limit(50)      @stop_areas    end diff --git a/app/models/referential.rb b/app/models/referential.rb index baaa354da..f64db4ebf 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -153,10 +153,6 @@ class Referential < ActiveRecord::Base      end    end -  def stop_areas -    Chouette::StopArea.all -  end -    def access_points      Chouette::AccessPoint.all    end diff --git a/spec/controllers/api/v1/stop_area_controller_spec.rb b/spec/controllers/api/v1/stop_area_controller_spec.rb index eb0c87661..1ad71a95a 100644 --- a/spec/controllers/api/v1/stop_area_controller_spec.rb +++ b/spec/controllers/api/v1/stop_area_controller_spec.rb @@ -18,16 +18,15 @@ describe Api::V1::StopAreasController, :type => :controller do      end    end    describe "GET #index, :q => { :name_cont => 'aa'}" do -    let!(:sa1) { create(:stop_area, :name => "aaa") } -    let!(:sa2) { create(:stop_area, :name => "aab") } -    let!(:sa3) { create(:stop_area, :name => "abb") } +    let!(:sa1) { create(:stop_area, :name => "aaa", stop_area_referential: referential.stop_area_referential) } +    let!(:sa2) { create(:stop_area, :name => "aab", stop_area_referential: referential.stop_area_referential) } +    let!(:sa3) { create(:stop_area, :name => "abb", stop_area_referential: referential.stop_area_referential) }      before :each do        config_formatted_request_with_authorization( "application/json") -      get :index, :q => { :name_cont => "aa"}  +      get :index, :q => { :name_cont => "aa"}      end      it "should assign expected stop_areas" do        expect(assigns[:stop_areas].map(&:name).sort).to eq([ sa1.name, sa2.name])      end    end  end - diff --git a/spec/controllers/autocomplete_stop_areas_controller_spec.rb b/spec/controllers/autocomplete_stop_areas_controller_spec.rb index 2af471361..e0d1cd714 100644 --- a/spec/controllers/autocomplete_stop_areas_controller_spec.rb +++ b/spec/controllers/autocomplete_stop_areas_controller_spec.rb @@ -4,9 +4,11 @@ RSpec.describe AutocompleteStopAreasController, type: :controller do    login_user    let(:referential) { Referential.first } -  let!(:stop_area) { create :stop_area, name: 'écolà militaire' } -  let!(:zdep_stop_area) { create :stop_area, area_type: "zdep" } -  let!(:not_zdep_stop_area) { create :stop_area, area_type: "lda" } +  let(:other_referential) { create :referential } +  let!(:stop_area) { create :stop_area, name: 'écolà militaire', referential: referential } +  let!(:other_referential_stop_area) { create :stop_area, name: 'écolà militaire', referential: other_referential } +  let!(:zdep_stop_area) { create :stop_area, area_type: "zdep", referential: referential } +  let!(:not_zdep_stop_area) { create :stop_area, area_type: "lda", referential: referential }    describe 'GET #index' do      it 'should be successful' do @@ -14,6 +16,12 @@ RSpec.describe AutocompleteStopAreasController, type: :controller do        expect(response).to be_success      end +    it "should filter stop areas based on referential" do +      get :index, referential_id: referential.id +      expect(assigns(:stop_areas)).to include(stop_area) +      expect(assigns(:stop_areas)).to_not include(other_referential_stop_area) +    end +      context 'search by name' do        it 'should be successful' do          get :index, referential_id: referential.id, q: 'écolà', :format => :json diff --git a/spec/factories/chouette_stop_areas.rb b/spec/factories/chouette_stop_areas.rb index 9b4764781..dab135ca6 100644 --- a/spec/factories/chouette_stop_areas.rb +++ b/spec/factories/chouette_stop_areas.rb @@ -10,6 +10,14 @@ FactoryGirl.define do      association :stop_area_referential +    transient do +      referential nil +    end + +    before(:create) do |stop_area, evaluator| +      stop_area.stop_area_referential = evaluator.referential.stop_area_referential if evaluator.referential +    end +      trait :deactivated do        deleted_at { 1.hour.ago }      end diff --git a/spec/features/access_points_spec.rb b/spec/features/access_points_spec.rb index c16039d67..890906de7 100644 --- a/spec/features/access_points_spec.rb +++ b/spec/features/access_points_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper'  describe "Access points", :type => :feature do    login_user -  let!(:stop_area) { create(:stop_area) } +  let!(:stop_area) { create(:stop_area, stop_area_referential: referential.stop_area_referential) }    let!(:access_points) { Array.new(2) { create(:access_point, :stop_area => stop_area) } }    subject { access_points.first } diff --git a/spec/features/referential_stop_areas_spec.rb b/spec/features/referential_stop_areas_spec.rb index 0dc7951a7..5e70857e7 100644 --- a/spec/features/referential_stop_areas_spec.rb +++ b/spec/features/referential_stop_areas_spec.rb @@ -5,7 +5,7 @@ describe 'ReferentialStopAreas', type: :feature do    login_user    let(:referential) { Referential.first } -  let(:stop_area_referential) { create :stop_area_referential } +  let(:stop_area_referential) { referential.stop_area_referential }    let!(:stop_areas) { Array.new(2) { create :stop_area, stop_area_referential: stop_area_referential } }    describe 'index' do diff --git a/spec/models/calendar_spec.rb b/spec/models/calendar_spec.rb index 3cffd0f8a..a5c0a7471 100644 --- a/spec/models/calendar_spec.rb +++ b/spec/models/calendar_spec.rb @@ -36,7 +36,7 @@ RSpec.describe Calendar, :type => :model do      end      it 'validates that dates and date_ranges do not overlap but allow for days not in the list' do -      expect(build(:calendar, dates: [Date.today.beginning_of_week], date_ranges: [Date.today.beginning_of_week..Date.today], int_day_types: Calendar::THURSDAY)).to be_valid +      expect(build(:calendar, dates: [Date.today.beginning_of_week - 1.week], date_ranges: [(Date.today.beginning_of_week - 1.week)..Date.today], int_day_types: Calendar::THURSDAY)).to be_valid      end      it 'validates that there are no duplicates in dates' do | 
